asp.net c#中的复选框有问题?
aspx页面上的控件如下所示 提交 提交日期 我想,如果复选框被选中,那么文本框将被启用asp.net c#中的复选框有问题?,c#,asp.net,checkbox,C#,Asp.net,Checkbox,aspx页面上的控件如下所示 提交 提交日期 我想,如果复选框被选中,那么文本框将被启用 if(chkSubmitted.Checked) { txtSubmissionDate.Enabled = true; } 在页面加载事件中。但是当页面被加载时,这个复选框对页面没有影响。出什么问题了?这很可能是因为txtSubmissionDate的默认状态已启用 在您的页面中尝试以下操作: txtSubmissionDate.enable
if(chkSubmitted.Checked)
{
txtSubmissionDate.Enabled = true;
}
在页面加载事件中。但是当页面被加载时,这个复选框对页面没有影响。出什么问题了?这很可能是因为txtSubmissionDate的默认状态已启用 在您的
页面中尝试以下操作:
txtSubmissionDate.enabled = !chkSubmitted.Checked
为了澄清,当复选框处于选中状态时,不应启用文本框(!)。将其放入Page\u PreRender
事件中。在此阶段,它将捕获CHKSubmited受用户影响的状态。如果您希望单击复选框以启用文本框,则需要在选中该框时通过设置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;
}
函数setSubmissionDateEnabled()
{
var chkSubmitted=document.getElementById(“”);
var txtSubmissionDate=document.getElementById(“”);
txtSubmissionDate.disabled=!chksubmited.checked;
}
首先将复选框的autopostback属性设置为true
在复选框\u Selectedindexchanged事件中写入以下代码
if(chkSubmitted.Checked)
{
txtSubmissionDate.Enabled = true;
}
else
{
txtSubmissionDate.Enabled = false;
}
你能发布你的页面加载代码吗?记得你需要检查回发吗?你是否在Chksubmited控件上启用了viewstate?该代码应该在Page_PreRender事件中。谢谢你的回答,但现在我有一个新问题,我已经将控件放在更新面板中。但是,还有其他更新面板,当这个(txtbox启用)被更新时,其他ajax控件也被更新,我不想更新,你能告诉我如何解决这个问题吗,或者我把它作为新问题放在老地方。是的,请作为新问题发布。
if(chkSubmitted.Checked)
{
txtSubmissionDate.Enabled = true;
}
else
{
txtSubmissionDate.Enabled = false;
}