0

我有一个列表框:

<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
<asp:ListItem Value="genyn">MAS Meeting</asp:ListItem>   
<asp:ListItem Value="smartyn">Smart Meeting</asp:ListItem>  
<asp:ListItem Value="genyn">Project Meeting</asp:ListItem>
</asp:ListBox>

在后面的代码中:

protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
{
 label1.Text= ListBox1.SelectedItem.Text;
}

当我在 ListBox 中选择 Project Meeting 时,label1 的文本为“MAS Meeting”。但我希望它有项目会议。是因为我对第一个和第三个列表项具有相同的价值吗?

谁能帮我?提前致谢

4

2 回答 2

1

你有相同的值MAS MeetingProject Meeting- 这可能会导致你的问题。尝试为不同的列表项设置不同的值以避免混淆:

<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True"OnSelectedIndexChanged="ListBox1_SelectedIndexChanged">
    <asp:ListItem Value="genyn">MAS Meeting</asp:ListItem>   
    <asp:ListItem Value="smartyn">Smart Meeting</asp:ListItem>  
    <asp:ListItem Value="another_genyn">Project Meeting</asp:ListItem>
</asp:ListBox>
于 2013-10-24T10:04:24.100 回答
1

你不能这样做。

value属性应该是,unique否则你会the first matched itemselect, 意思asp.net List

<asp:ListItem Value="diffValue">Project Meeting</asp:ListItem>
于 2013-10-24T10:05:26.050 回答