asp.net + listbox +值的变化

时间:2012-11-19 10:37:02

标签: asp.net .net

我在asp.net中有一个列表框

 <asp:ListBox ID="ListBox1" class="listItem" runat="server" 
 onselectedindexchanged="ListBox1_SelectedIndexChanged">
 <asp:ListItem>1</asp:ListItem>
 <asp:ListItem>2</asp:ListItem>
 <asp:ListItem>3</asp:ListItem>
 </asp:ListBox>

我想在某人更改值时触发一个函数... 我试过的代码是

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
    Label6.Text = Label6.Text + "hello";
}

这里有什么不对..

通过将autopostback设置为true,我的问题得到了解决,但每当我更改其值时我会重新加载页面,因为大量数据会在每个autopostback上重新加载(页面上的图像bcoz)。即使我放了页面加载中的以下代码

 protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
        }
    }

但它没有成功......

2 个答案:

答案 0 :(得分:2)

这里的问题是您希望立即触发SelectedIndexChanged事件。但默认情况下,ListControl的{​​{3}}属性设置为false

  

true如果每次发送到服务器的回发都会自动发生   用户更改列表的选择;否则,false默认值   是假的

所以设置为true:

<asp:ListBox ID="ListBox1" AutoPostBack="true" class="listItem" runat="server" 
 onselectedindexchanged="ListBox1_SelectedIndexChanged">
 <asp:ListItem>1</asp:ListItem>
 <asp:ListItem>2</asp:ListItem>
 <asp:ListItem>3</asp:ListItem>
 </asp:ListBox>

答案 1 :(得分:1)

AutoPostBack="true"缺少将其添加到ListBox1