列表框中的选择没有保持选中状态
本文关键字:状态 选择 列表 | 更新日期: 2023-09-27 18:03:04
我有一个列表框,其中包含在页面加载时填充的多个项目。列表框中的每个项目都可以选择,除了最后一个项目。当点击这个选项时,选择自动跳转到上面的两个项目。我似乎不明白为什么会发生这种事。它只在最后一项被选中时发生。列表框位于ajax选项卡容器内的更新面板中,但我看不出这有什么区别。我真的希望我没有错过什么明显的东西……
列表框:
<asp:ListBox ID="availableServicesListBox"
runat="server"
class="formListBox"
AutoPostBack="True"
onselectedindexchanged="availableServicesListBox_SelectedIndexChanged">
</asp:ListBox>
页面加载事件:
if (!Page.IsPostBack)
{
//populate from database
}
selecteindex changed event (for autopostback):
protected void availableServicesListBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (availableServicesListBox.SelectedValue.Length > 10)
{
servicePanel.Visible = true;
activePanel.Visible = true;
}
else
{
servicePanel.Visible = false;
}
}
检查您的值列表,并确保没有任何重复的值。我过去看到的情况是,您在列表的后面选择了一个值,但它是列表中前面项的重复值。因此,所发生的是,选择被简单地应用到第一个匹配项。
如果可能的话,我建议您使用客户端javascript/Jquery你可以添加onChange事件到你的listBox,并使用jquery . show (), . hide()方法来显示或隐藏面板。它也快得多。唯一的问题是,当使用servicePanel时,面板隐藏在视图之外。Visible = false;面板不显示在页面上