Asp.net ASP NET WebForms中的AJAX字段验证程序
我有一个带有一些文本框和字段验证器的更新面板。触发器是ddlUserTypeId。其思想是,如果用户在下拉列表中更改所选值,将根据所选值启用/禁用FilteredTextBoxExtension。 在我启用TextBoxExtenders之前,这一切都很正常Asp.net ASP NET WebForms中的AJAX字段验证程序,asp.net,asp.net-ajax,updatepanel,postback,Asp.net,Asp.net Ajax,Updatepanel,Postback,我有一个带有一些文本框和字段验证器的更新面板。触发器是ddlUserTypeId。其思想是,如果用户在下拉列表中更改所选值,将根据所选值启用/禁用FilteredTextBoxExtension。 在我启用TextBoxExtenders之前,这一切都很正常之后,即使满足要求,也不可能回发我如何克服这个问题我需要每次启动下拉列表的回发。 HTML 你检查过你的控制台了吗?你有什么错误吗?@SehaxX在几次回发之后,我得到了这个异常:回发或回拨参数无效。在配置或页面中使用启用事件验证。出于安
之后,即使满足要求,也不可能回发
我如何克服这个问题
我需要每次启动下拉列表的回发。
HTML
你检查过你的控制台了吗?你有什么错误吗?@SehaxX在几次回发之后,我得到了这个异常:回发或回拨参数无效。在配置或页面中使用启用事件验证。出于安全目的,此功能验证回发或回调事件的参数是否源自最初呈现它们的服务器控件。如果数据有效且符合要求,请使用ClientScriptManager.RegisterForEventValidation方法注册回发或回调数据以进行验证。“无效回发”错误有许多可能的原因:。检查回发数据是否与重新填充/重新绑定其他控件没有冲突。您能否澄清“在我启用TextBoxExtenders之前,此操作正常。之后,即使满足要求,也无法回发”的含义。此外,请包括所有相关代码/标记,包括ddl。
<asp:UpdatePanel ID="pnlEnablePassword" runat="server" ChildrenAsTriggers="false">
<ContentTemplate>
<asp:TextBox ID="txtPassword" runat="server" TextMode="Password" CssClass="textBox" />
<uc1:FilteredTextBoxExtender ID="txtPassword_FilteredTextBoxExtender" runat="server" Enabled="False" TargetControlID="txtPassword" FilterType="Numbers" />
<asp:RequiredFieldValidator ID="valReqPassword" runat="server" ControlToValidate="txtPassword" Display="Dynamic" ErrorMessage="Requiered"/>
<asp:TextBox ID="txtPasswordConfirm" runat="server" TextMode="Password" CssClass="textBox" />
<uc1:FilteredTextBoxExtender ID="txtPasswordConfirm_FilteredTextBoxExtender" runat="server" Enabled="False" TargetControlID="txtPasswordConfirm" FilterType="Numbers" />
<asp:RequiredFieldValidator ID="valReqPasswordConfirm" runat="server" ControlToValidate="txtPasswordConfirm" meta:resourcekey="valReqPasswordConfirm" Display="Dynamic" ErrorMessage="Requiered"/>
<asp:CompareValidator ID="valCompPasswordConfirm" runat="server" meta:resourcekey="valCompPasswordConfirm" Display="Dynamic" ControlToValidate="txtPasswordConfirm" ControlToCompare="txtPassword"/>
</ContentTemplate>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="chkEnablePassword" EventName="CheckedChanged" />
<asp:AsyncPostBackTrigger ControlID="ddlUserTypeId" EventName="SelectedIndexChanged" />
</Triggers>
</asp:UpdatePanel>
protected void UserTypeChanged(Object sender, EventArgs e)
{
txtPassword.Text = "";
txtPasswordConfirm.Text = "";
txtPassword.Enabled = chkEnablePassword.Checked;
txtPasswordConfirm.Enabled = chkEnablePassword.Checked;
valReqPassword.Enabled = chkEnablePassword.Checked;
valReqPasswordConfirm.Enabled = chkEnablePassword.Checked;
valCompPasswordConfirm.Enabled = chkEnablePassword.Checked;
}