可以';t两个ListItem对象具有相同的value属性
本文关键字:属性 value 对象 ListItem 两个 可以 | 更新日期: 2023-09-27 17:59:17
我的代码看起来像
<asp:ListBox ID="ListBox1" runat="server">
<asp:ListItem Value="100">A</asp:ListItem>
<asp:ListItem Value="100">B</asp:ListItem>
</asp:ListBox>
现在,当我尝试选择B时,默认情况下总是选择A。从未选择B。这种行为的原因是什么?
<asp:ListBox>
在HTML中呈现为具有<option>
的<select>
。该值在回发中持久化,而不是在文本中持久化。因此,当有多个选项具有相同的值时,它无法判断您想要哪个值,所以它假设第一个。最佳做法是使用唯一的选项值。
建议对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
;其中CCD_ 10是该特定值CCD_ 12的CCD_。