界面上放置了三个服务器控件。一个Button,一个CheckBox,一个ListBox。
其中CheckBox和ListBox的EnableViewState属性设置为false。点击Button按钮,代码如下:protected void Button1_Click(object sender, EventArgs e)
{
CheckBox1.Checked = !CheckBox1.Checked; //每次点击checkbox都取反
ListBox1.Items.Add("123"); //ListBox增加内容
}
每次执行结果CheckBox1可以不停的取反,ListBox1只增加一个内容就不再增加。请问为什么两个控件的EnableViewState属性都设置为false,但一个(CheckBox)可以不停响应,而另一个(ListBox)只响应一次?
谢谢!
其中CheckBox和ListBox的EnableViewState属性设置为false。点击Button按钮,代码如下:protected void Button1_Click(object sender, EventArgs e)
{
CheckBox1.Checked = !CheckBox1.Checked; //每次点击checkbox都取反
ListBox1.Items.Add("123"); //ListBox增加内容
}
每次执行结果CheckBox1可以不停的取反,ListBox1只增加一个内容就不再增加。请问为什么两个控件的EnableViewState属性都设置为false,但一个(CheckBox)可以不停响应,而另一个(ListBox)只响应一次?
谢谢!
在EnableViewState属性设置为false后
CheckBox与html表单一样,每次都能提交到服务器端,而ListBox只能提交选中的,不能提交全部选项。因此出现你说的情况
拿你的例子来说吧
第一次点击的时候,服务器会收集页面信,这时listbox会加一个’123‘
但以后点击的时候不会再加个’123‘,因为他的EnableViewState属性设置为false,服务器再也不会收集关于他的信息了