列表框中的选择没有保持选中状态

本文关键字:状态 选择 列表 | 更新日期: 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;面板不显示在页面上