菜鸟的疑惑 关于DropDownList
当DropDownList的EnableViewState="False" 之后 选择第一个选项的时候不触发 onselectedindexchanged事件!其他选择都可以触发的 就第一个选项不触发!很奇怪!请教大牛是 什么原因造成的?aspx:
<div>
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
EnableViewState="False"
onselectedindexchanged="DropDownList1_SelectedIndexChanged">
<asp:ListItem>02</asp:ListItem>
<asp:ListItem>03</asp:ListItem>
<asp:ListItem>04</asp:ListItem>
<asp:ListItem>05</asp:ListItem>
<asp:ListItem>06</asp:ListItem>
</asp:DropDownList>
</div>
cs :
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{
Response.Write(DropDownList1.SelectedIndex);
} --------------------编程问答-------------------- dropdownlist,listbox还有checkboxlist这一类的都差不多,如果是前台就能确定他的选项值,那他的 viewstate可以禁用,不影响他的取值,但如果他的值是需要后台来梆定,又是需要在!ISPostBack里绑定的话,那他的viewstate值是不能禁用的,否则一执行其它事件以后,他的值就不存在了.
--------------------编程问答-------------------- http://blog.csdn.net/wwfgu00ing/article/details/6524900 --------------------编程问答-------------------- EnableViewState="False" ,就是不记忆控件的状态,又因为初始默认选中的是第一项,所以你每次选第一项时它都不认为改变了选择项,因此事件就没有被触发。
如果你开始默认选择第二项的话,那么我想你每次选第二项也不会触发事件。 --------------------编程问答-------------------- 每进行一次onselectedindexchanged事件,页面刷新一次,又重新回到默认选择项了。
--------------------编程问答-------------------- 3 楼正解 、、、、、 --------------------编程问答-------------------- 你把他放在一个面板中,实现无印刷新就了。 --------------------编程问答-------------------- 三楼,我把默认选择第二项! 第一项和第二项都不触发事件! --------------------编程问答-------------------- 这还不简单,你加上个请选择什么的放在第一项,后面的就是你绑定的数据不就行了 --------------------编程问答-------------------- 试验了下,结果跟三楼说的的一样 --------------------编程问答-------------------- 用juery选择触发多简单 你还用微软自带的 --------------------编程问答-------------------- 高手太多,不说了。。
补充:.NET技术 , ASP.NET