【发布时间】:2015-12-07 21:51:26
【问题描述】:
我有一个带有自动回发功能的复选框。此复选框将隐藏/显示我的数据网格中的列。我希望我的复选框在回发发生时禁用/只读,以避免双击或服务器错误。我了解禁用该复选框不会通过回发保留该值。根据我在其他类似问题中所读到的内容,我需要创建一个隐藏输入并为其分配复选框的值。我现在如何拥有它,隐藏输入在回发后始终具有 false 值。任何建议/帮助将不胜感激。
*只显示相关代码。
ASPX:
<asp:CheckBox ID="chkbxEmailPhone" runat="server" Text="Include Telephone & E-Mail" AutoPostBack="true" CssClass="bold tdfont10" value="<%=hidPhoneEmail%>" name="EmailPhoneCheck"></asp:CheckBox>
<input type="hidden" id="hidChkBxValue" value=" <%=hidPhoneEmail%>" name="EmailPhoneCheck"/>
Javascript:
function fnDisableChkBox(){
if(document.getElementById("chkbxEmailPhone").checked = true){
document.getElementById("hidChkBxValue").value = "true";
}
else {
document.getElementById("hidChkBxValue").value = "false";
}
document.getElementById("chkbxEmailPhone").disabled = true;
}
VB.NET:在 Page_PreRender 中
'Declared normally - not in prerender
Public hidPhoneEmail As String = String.Empty
chkbxEmailPhone.Attributes.Add("onChange", "fnDisableChkBox(this);")
hidPhoneEmail = Request.Form("hidPhoneEmail")
If hidPhoneEmail = "true" Then
chkbxEmailPhone.Checked = True
Else
chkbxEmailPhone.Checked = False
End If
【问题讨论】:
-
我应该注意,如果不禁用该复选框,页面将完全按照应有的方式工作。
标签: javascript asp.net vb.net checkbox postback