c# - Asp.net 要求验证器在回发时重置

标签 c# jquery asp.net

如果通过 jquery 勾选复选框,我试图禁用必填字段验证器。

它工作正常,但在回发页面上,验证器未被禁用,我看到必填字段消息。

 <asp:CheckBox ID="chkAssociate" Text="Associate / Duplicate Email"
  runat="server" TabIndex="-1" />

    <asp:TextBox ID="txtAddress" TabIndex="4" Width="220px" TextMode="MultiLine" Rows="3" runat="server"></asp:TextBox>
     <asp:RequiredFieldValidator ID="rfvAddress" runat="server" ControlToValidate="txtAddress" Display="Dynamic" CssClass="required" ErrorMessage="* Required" ValidationGroup="Save" SetFocusOnError="True"></asp:RequiredFieldValidator>

JQUERY

var valAddress = $("[id*=rfvAddress]");

if ($(this).is(':checked')) 
{
    $("[id*=spAddress]").css('display', 'none');
    ValidatorEnable(valAddress[0], false);

}
else 
{
    $("[id*=spAddress]").css('display', 'inline');
    ValidatorEnable(valAddress[0], true);
}     

最佳答案

您的问题在您提到的链接中;客户端上的任何更改都不会保留在服务器上;您必须在页面回发时解释验证器是否已启用,并在服务器控件本身上设置 Enabled 属性:

if (chkAssociate.Checked) {
   rfvAddress.Enabled = False;
}

这应该会持续返回给客户端。更改客户端和服务器上的启用状态可能会有不同的行为。

关于c# - Asp.net 要求验证器在回发时重置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551163/

相关文章:

c# - 监听 ObservableCollection<INotifyPropertyChanged> 中任何项目的 PropertyChanged 事件

mysql - 更改 asp.net 成员(member)中的用户名

asp.net - Viewstate - 完全困惑。

c# - 通过 C# 调用的 Python 在无限循环中不返回值

c# - 为服务重启添加暂停

c# - 读取 View MVC 中的 Session 值

jquery - 尝试 "sync"2 html 表格(应用列宽)

javascript - Fullpage.js 的导航问题,未显示事件状态

javascript - 使用 jQuery 多次添加和删除元素

javascript - 用户控件内的 RegisterStartupScript