<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True"
            EnableViewState="False" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged">
            <asp:ListItem>中文</asp:ListItem>
            <asp:ListItem>英文</asp:ListItem>
            <asp:ListItem>日语</asp:ListItem>
        </asp:DropDownList> protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
    {
        Response.Write(DropDownList1.SelectedValue.ToString());
    }我设置EnableViewState="False" 为什么我点第一项(中文)的时候没反应呢,就是不执行选择事件的代码?第二项第三项却可以? 当视图状态设为flase的时 ,那这个列表框应该是个无状态的情况,回发的时候,感觉DropDownList出现在界面都是它的初值。(label是这样的)。我理解的有问题吗?我想应该有,问题在哪。。知道的朋友说下,呵呵。。

解决方案 »

  1.   

    OnSelectedIndexChanged这个事件是改变选项的时候才触发的!
    EnableViewState就是缓存当前页面的设置值,不缓存了,肯定是初值.
      

  2.   

    添加
    DropDownList1 .Items.Insert(0,new ListItem("==请选择==",""));或
     <asp:ListItem value="" Selected="True"> </asp:ListItem> 
      

  3.   

    我设置EnableViewState= "False "   为什么我点第一项(中文)的时候没反应呢,就是不执行选择事件的代码?第二项第三项却可以?   
    问的是这个