selectindexchanged上的asp.net列表框不会触发事件

时间:2013-08-14 09:24:54

标签: asp.net

<asp:ListBox ID="list1" runat="server" Height="200" Style=" margin: 0"   OnSelectedIndexChanged="list1_SelectedIndexChanged">
            <asp:ListItem Selected="True" Value="1">1</asp:ListItem>
            <asp:ListItem Value="2">2</asp:ListItem>
            <asp:ListItem Value="3">3</asp:ListItem>
            <asp:ListItem Value="4">4</asp:ListItem>
        </asp:ListBox>

我在updatePanel中有列表框

但是当我选择某些东西时,它不会触发事件我做错了什么?

2 个答案:

答案 0 :(得分:7)

您需要将AutoPostBack属性设置为True。然后只发生回发,并且您的选定索引事件将触发。

<asp:ListBox AutoPostBack="true" ID="yourLIst" runat="server" Height="200" Style=" margin: 0"   OnSelectedIndexChanged="yourLIst_SelectedIndexChanged">

答案 1 :(得分:5)

您必须将AutoPostBack设置为true(默认为false):

<asp:ListBox AutoPostBack="true" ID="list1" runat="server" Height="200" Style=" margin: 0"   OnSelectedIndexChanged="list1_SelectedIndexChanged">
   ....

另请注意,您必须仅在初始加载时对ListBox进行数据绑定而不是每次回发,因此请使用IsPostBack属性进行检查:

protected void Page_Load(Object sender, EventArgs e)
{ 
    if(!IsPostBack)
        DataBindListBox();
}