我在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)
{
}
}
但它没有成功......
答案 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