【发布时间】:2016-10-06 14:35:11
【问题描述】:
我的 aspx 页面上有以下 ASP:DropDownList:
<label>OT Code No.</label>
<asp:DropDownList runat="server" ID="ddlOvertimeCode" class="form-control" TabIndex="1"></asp:DropDownList>
在 HTML 中呈现如下:
<select name="ctl00$MainContentPlaceHolder$ddlOvertimeCode" id="MainContentPlaceHolder_ddlOvertimeCode" tabindex="1" class="form-control">
<option selected="selected" value="0">-Select-</option>
<option value="1">1 - 10B PLES</option>
<option value="2">2 - Investigation</option>
<option value="3">3 - Arrest</option>
<option value="4">4 - Misc</option>
<option value="5">5 - EWW</option>
<option value="6">6 - Holiday</option>
<option value="7">7 - In-Lieu Holiday</option>
</select>
提交表单后,我在 .cs 文件中使用以下代码禁用 DropDownList
ddlOvertimeCode.Attributes.Add("disabled", null);
我尝试了其他禁用dropdownlist 的方法,但是所有这些方法要么覆盖列表的引导样式,要么使下拉列表能够被更改,尽管它是灰色和只读的。添加disabled 属性是我能找到的唯一方法,可以在保持其样式不变的同时将框变灰。
当用户撤回表单,使其再次可编辑时出现问题,代码使用相同的方法重新启用dropdownlist:
ddlOvertimeCode.Attributes.Remove("disabled");
删除 disabled 属性会重置 dropdownlist 并让我无法从代码隐藏中更改 DropDownList.SelectedValue。
我需要一种将 DropDownList 灰显并从代码隐藏中禁用它而不覆盖引导样式的方法,然后将其返回到可编辑状态,同时保留原始选定值。
【问题讨论】:
标签: c# html asp.net twitter-bootstrap