在asp.net c#中的复选框问题
本文关键字:复选框 问题 asp net | 更新日期: 2023-09-27 18:02:20
aspx页面上的控件是这样的提交提交日期
我想,如果复选框被选中,那么文本框将被启用我写了
if(chkSubmitted.Checked)
{
txtSubmissionDate.Enabled = true;
}
在页面加载事件中。但是当页面被加载时,这个复选框对。出什么问题了?
如果您希望通过单击复选框来启用文本框,则需要在复选框被选中时通过设置AutoPostBack="True"
:
<asp:CheckBox runat="server" ID="chkSubmitted" AutoPostBack="True" />
或者,你可以使用JavaScript:
<asp:CheckBox runat="server" ID="chkSubmitted" onclick="setSubmissionDateEnabled()" />
function setSubmissionDateEnabled()
{
var chkSubmitted = document.getElementById("<%= chkSubmitted.ClientID %>");
var txtSubmissionDate = document.getElementById("<%= txtSubmissionDate.ClientID %>");
txtSubmissionDate.disabled = !chkSubmitted.checked;
}
首先设置复选框的autopostback属性为true
在checkbox_Selectedindexchanged事件中编写以下代码
if(chkSubmitted.Checked)
{
txtSubmissionDate.Enabled = true;
}
else
{
txtSubmissionDate.Enabled = false;
}
这很可能是因为txtSubmissionDate的默认状态已经启用。
在您的page_load
中试试:
txtSubmissionDate.enabled = !chkSubmitted.Checked
说明一下,当复选框为
把这个放到Page_PreRender
事件中。在这个阶段,它将捕获chkSubmitted的用户受影响状态。