我目前正在尝试找出我的代码出了什么问题:
不起作用
if(...){
...
}else{
someVariableAsString = "myValue123";
MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);
}作品
if(...){
...
}else{
//someVariableAsString = "myValue123";
MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);
}。。为什么会这样?有什么解决方案吗?
发布于 2011-04-19 02:49:30
因为您试图对INIT而不是load执行操作,所以数据还没有附加到服务器上。
您应该会发现对ASP.NET中web请求的生命周期的回顾很有用:MSDN ASP.NET Page Life Cycle
以下是相关摘录:
初始化
在页初始化期间,页上的控件可用,并且
设置每个控件的UniqueID属性。如果适用,还会将母版页和主题应用于页面。如果当前请求是回发,则尚未加载回发数据,并且控件属性值尚未还原为视图状态中的值。
在加载期间加载,如果当前请求是回发,则控制
属性中加载了从视图状态和控件状态恢复的信息。
将您试图执行的代码移到页面加载处理程序(记住要测试IsPostBack)中(或之后),看看是否没有得到您想要的结果。
的新尝试:
尝试将您的“不工作”更改为:
if(...){
...
}else{
string someVariableAsString = "myValue123";
MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);
}发布于 2011-04-19 02:00:53
这听起来像是someVariableAsString可能抛出了一个异常,导致代码无法到达下一行。检查您的变量类型。
https://stackoverflow.com/questions/5706818
复制相似问题