【发布时间】:2013-03-08 15:10:26
【问题描述】:
我有一个列表框,其中包含在页面加载时填充的多个项目。列表框中的每一项都可以毫无问题地选择,除了最后一项。单击该选项时,选择会自动跳转到上面的两个项目。我似乎无法理解为什么会发生这种情况。它仅在选择最后一项时发生。列表框位于 ajax 选项卡容器内的更新面板中,但我不明白为什么会有所作为。我真的希望我没有遗漏一些明显的东西......
列表框:
<asp:ListBox ID="availableServicesListBox"
runat="server"
class="formListBox"
AutoPostBack="True"
onselectedindexchanged="availableServicesListBox_SelectedIndexChanged">
</asp:ListBox>
页面加载事件:
if (!Page.IsPostBack)
{
//populate from database
}
selectedIndex 更改事件(用于自动回发):
protected void availableServicesListBox_SelectedIndexChanged(object sender, EventArgs e)
{
if (availableServicesListBox.SelectedValue.Length > 10)
{
servicePanel.Visible = true;
activePanel.Visible = true;
}
else
{
servicePanel.Visible = false;
}
}
【问题讨论】:
-
当我遇到这种情况时,最后一项与列表中的另一项具有相同的值。因此,当您选择它时,它会选择具有该值的第一个项目,该值出现在列表的前面。需要检查的东西。
-
如果问题不是@MikeC 指出的问题。 ,您应该更深入地了解“从数据库填充”,看看硬编码值是否也会出现问题
-
@MikeC。你是对的,文本属性不同,但某些项目的值是相同的,因为我在那里存储了查询结果。没想到这一点-谢谢!如果您将评论作为答案,我会标记它。
-
完成,谢谢。我喜欢完全正确!