ASP.NET中的列表框在选中项改变时不触发事件。

3
<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中有一个ListBox,但当我选择某个选项时,它没有触发任何事件。我做错了什么吗?

2个回答

9

您需要将 AutoPostBack 属性设置为 True。只有这样,才会发生 Postback 并触发您选择的索引事件。

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

6

您需要将AutoPostBack设置为true(默认为false):

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

还要注意的是,您只需要在初始加载时绑定数据到ListBox上而不是每次PostBack都要绑定,所以请使用IsPostBack属性进行检查:

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接