首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# MultiView SetActiveView by ID不能正常工作

C# MultiView SetActiveView by ID不能正常工作
EN

Stack Overflow用户
提问于 2011-04-19 01:51:02
回答 2查看 4.7K关注 0票数 0

我目前正在尝试找出我的代码出了什么问题:

不起作用

代码语言:javascript
复制
if(...){  
    ...  
}else{  
    someVariableAsString = "myValue123";  
    MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);  
}

作品

代码语言:javascript
复制
if(...){  
    ...  
}else{  
    //someVariableAsString = "myValue123";  
    MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);  
}

。。为什么会这样?有什么解决方案吗?

EN

回答 2

Stack Overflow用户

发布于 2011-04-19 02:49:30

因为您试图对INIT而不是load执行操作,所以数据还没有附加到服务器上。

您应该会发现对ASP.NET中web请求的生命周期的回顾很有用:MSDN ASP.NET Page Life Cycle

以下是相关摘录:

初始化

在页初始化期间,页上的控件可用,并且

设置每个控件的UniqueID属性。如果适用,还会将母版页和主题应用于页面。如果当前请求是回发,则尚未加载回发数据,并且控件属性值尚未还原为视图状态中的值。

在加载期间加载,如果当前请求是回发,则控制

属性中加载了从视图状态和控件状态恢复的信息。

将您试图执行的代码移到页面加载处理程序(记住要测试IsPostBack)中(或之后),看看是否没有得到您想要的结果。

的新尝试:

尝试将您的“不工作”更改为:

代码语言:javascript
复制
if(...){  
    ...  
}else{  
    string someVariableAsString = "myValue123";  
    MultiView1.SetActiveView(My3thView_ID_In_MultiViewControl);  
}
票数 1
EN

Stack Overflow用户

发布于 2011-04-19 02:00:53

这听起来像是someVariableAsString可能抛出了一个异常,导致代码无法到达下一行。检查您的变量类型。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5706818

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档