日期:2014-05-19  浏览次数:20621 次

代码生成控件的引用问题
在ASP页面的LOAD过程中定义
dim   cb   As   new   CheckBoxList
然后设置cb属性并使用cb,没有问题。

在按钮的Click事件处理过程中要取得cb的值,系统提示cb没有实例化。
将dim   cb   As   new   CheckBoxList改为public   cb   As   new   CheckBoxList依然不行。

这在WinForm里是没有问题的,在ASP里可能由于生存期问题导致以上问题。
对ASP的机理还是不太明白,所以请教一下。

------解决方案--------------------
把控件声明为全局变量,象这样(Sorry,不太懂vb.net,只会用C#写):

CheckBox cb;

void Page_Load(....){
cb=new CheckBox();
...
this.Controls[1].Controls.Add(cb);
}

void Button_Click(...){
if(cb.Checked)
....