两个ListItem对象不能具有相同的value属性吗?

时间:2016-07-29 16:55:53

标签: c# asp.net listitem

我的代码看起来像

long long

现在当我尝试选择B时,它默认选择A总是。 B从未被选中。这种行为的原因是什么?

2 个答案:

答案 0 :(得分:4)

<asp:ListBox>呈现为<select>,其中包含<option>个HTML。该值保留在回发之间,而不是文本。所以当有多个具有相同值的选项时,它无法分辨出您想要的值,因此它假设第一个。最佳做法是使用唯一的选项值。

答案 1 :(得分:0)

建议对2个或更多项使用不同的值。没有两个项目可以具有相同的值。

设置AutoPostBack="True",您会发现无论您在ListBox中添加了多少项,它都会始终选择该特定值的0th索引。

<asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True">
        <asp:ListItem Value="101">D</asp:ListItem>
        <asp:ListItem Value="100">A</asp:ListItem>
        <asp:ListItem Value="100">B</asp:ListItem>
        <asp:ListItem Value="102">E</asp:ListItem>
        <asp:ListItem Value="100">C</asp:ListItem>
</asp:ListBox>

比如,选择BC将始终选择A;其中A是该特定值0th的{​​{1}}索引。