【发布时间】:2016-04-14 19:36:55
【问题描述】:
我有一个问题,当我尝试从代码隐藏中的 asp:listbox 获取 selectedindex 时,它总是保持 -1,即使在它被选中的页面上也是如此。我每分钟都在更新这个列表。为了加载 listItems,整个列表会被擦除并再次写回。
代码示例:
<asp:ListBox ID="ListBox1" runat="server"
OnSelectedIndexChanged="ListBox1_SelectedIndexChanged"
AutoPostBack="false">
</asp:ListBox>
在代码隐藏中:
protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
itemsIndex = ListBox1.SelectedIndex.ToString(); //It is always -1
itemToBeRescheduled = ListBox1.SelectedItem.Value;
}
尝试使用 if(!isPostBack).. 但索引保持 -1 并且它只从列表中删除了我的项目。
提前致谢!
【问题讨论】:
-
AutoPostBack="false"?
-
不管是真还是假,选择的索引都是-1,但如果设置为真,则不允许选择列表中的项目。
-
您应该启用 AutoPostBack 并在删除所有项目之前获取选定的索引。您必须检查每分钟更新列表的方式是否导致所选索引丢失。