我的代码看起来像不能两个ListItem对象具有相同的值属性吗?
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Value="100">A</asp:ListItem>
<asp:ListItem Value="100">B</asp:ListItem>
</asp:ListBox>
现在,当我尝试选择B,它在默认情况下选择始终。 B从未被选中。这种行为的原因是什么?
我的代码看起来像不能两个ListItem对象具有相同的值属性吗?
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Value="100">A</asp:ListItem>
<asp:ListItem Value="100">B</asp:ListItem>
</asp:ListBox>
现在,当我尝试选择B,它在默认情况下选择始终。 B从未被选中。这种行为的原因是什么?
<asp:ListBox>
以HTML形式呈现为<select>
而<option>
s。该值在回发中保留,而不是文本。因此,当有多个选项具有相同的值时,它无法分辨出您想要哪个值,因此它假设了第一个值。使用唯一选项值是最佳做法。
我们推荐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>
一样,选择B
或C
将始终选择A
;其中A
是用于该特定值100
0th
的索引。
你需要有两个项目相同的值? – StingyJack