绑定控件';s对复选框启用属性';s选中的属性

本文关键字:属性 控件 绑定 复选框 启用 | 更新日期: 2023-09-27 17:59:36

我想根据CheckBox控件的Checked属性设置RequiredFieldValidator控件的Enable属性。我的控件封装在UpdatePanel中。如果我写下面的代码,一切都很好。

ASPX/HTML:

<asp:CheckBox 
     ID="chkIsEmailSubscribed" 
     runat="server"
     OnCheckedChanged="chkIsEmailSubscribed_CheckedChanged"
     AutoPostBack="true" />
<asp:TextBox 
     ID="txtSubscriptionEmail" 
     runat="server" />
<asp:RequiredFieldValidator 
     ID="rqrSubscriptionEmail" 
     runat="server" 
     ControlToValidate="txtSubscriptionEmail"
     ErrorMessage="Email is required" />

代码背后:

protected void chkIsEmailSubscribed_CheckedChanged(object sender, EventArgs e)
{
    rqrSubscriptionEmail.Enabled = chkIsEmailSubscribed.Checked;
}

但我想实现这一点,而不需要在代码后面写任何代码,而是在HTML中完成。我想用以下绑定表达式替换我的代码隐藏逻辑:

<asp:RequiredFieldValidator 
      ...
      Enabled="<%#chkIsEmailSubscribed.Checked%>" />

但这个绑定表达式并没有像我预期的那样工作。这个怎么了?

绑定控件';s对复选框启用属性';s选中的属性

我建议您尝试从前端输出中显示<%#chkIsEmailSubscribed.Checked%>的值。