asp.net c#中的复选框有问题?

asp.net c#中的复选框有问题?,c#,asp.net,checkbox,C#,Asp.net,Checkbox,aspx页面上的控件如下所示 提交 提交日期 我想,如果复选框被选中,那么文本框将被启用 if(chkSubmitted.Checked) { txtSubmissionDate.Enabled = true; } 在页面加载事件中。但是当页面被加载时,这个复选框对页面没有影响。出什么问题了?这很可能是因为txtSubmissionDate的默认状态已启用 在您的页面中尝试以下操作: txtSubmissionDate.enable

aspx页面上的控件如下所示 提交 提交日期

我想,如果复选框被选中,那么文本框将被启用

  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;
}