【发布时间】:2013-08-01 05:18:22
【问题描述】:
我有一个表单的下拉列表:
<asp:DropDownList runat="server" CssClass="holdTypeDDL" ID="holdTypeDDL"></asp:DropDownList>
当 !Page.isPostback via 时,在 c# 代码隐藏的 aspx 页面中填充 onload :
holdTypeDDL.Items.Add(new ListItem(string.Empty, false.ToString()));
holdTypeDDL.Items.Add(new ListItem(HoldTypeType.Now.Description(), false.ToString()));
holdTypeDDL.Items.Add(new ListItem(HoldTypeType.AAHoldType.Description(), true.ToString()));
holdTypeDDL.Items.Add(new ListItem(HoldTypeType.AAAHoldType.Description(), true.ToString()));
holdTypeDDL.Items.Add(new ListItem(HoldTypeType.AAAAHoldType.Description(), false.ToString()));
我注意到,如果选择了其中一个字符串值为 False 的选项,则不会认为它已被选中。 IE。回发后选定的索引为 0。如果选择了具有 true 的项目并在回发时抓取了值,则它可以正常工作。
我找不到任何文档说明这是为什么。为什么选项元素的值中包含“False”字符串会使其无法正确回发?
编辑:
以 HTML 格式呈现:
<select class="holdTypeDDL" id="BodyContent_holdTypeDDL" name="ctl00$BodyContent$holdTypeDDL">
<option value="False"></option>
<option value="False">Now</option>
<option value="True">AA Hold Type</option>
<option value="True">AAA Hold Type</option>
<option value="False">AAAA Hold Type</option>
</select>
【问题讨论】:
-
它在 HTML 中是如何呈现的?
-
如果我选择“现在”并回发,它显示选定索引 = 0。如果我选择 AAAA 持有类型,它显示选定索引 = 0。如果我选择 AA 持有类型,它显示选定索引 = 2
-
将其更改为 False 以外的其他内容可以修复它。
标签: c# asp.net .net-4.0 webforms html-select