我有以下aspx代码:
<td>
<p>Customer*</p>
</td>
<td>
<asp:TextBox ID="TextBoxCustomer" list="SiteMainContent_Customers" runat="server" OnTextChanged="CustomerTextChanged" AutoPostBack="true" required CssClass="form-control" />
<datalist id="Customers" runat="server"></datalist>
</td>
<td class="auto-style1">
<asp:RequiredFieldValidator ID="RequiredFieldValidatorKunde" runat="server" ControlToValidate="TextBoxCustomer"
CssClass="Error" ErrorMessage="RequiredFieldValidator">*</asp:RequiredFieldValidator>
<asp:CustomValidator ID="CustomCustomerValidator" runat="server" ControlToValidate="TextBoxCustomer" ErrorMessage="Customer not in CRM"
OnServerValidate="ValidateCustomer" CssClass="Error"></asp:CustomValidator>
</td>
自定义验证器:
public void Validate(object source, ServerValidateEventArgs args)
{
try
{
GetCompanyId(args.Value);
}
catch (Exception ex)
{
((CustomValidator)source).ErrorMessage = ex.Message;
args.IsValid = false;
return;
}
args.IsValid = true;
}
代码是我整个aspx页面的片段。
如果其他某些字段未验证且您必须更正数据,则TextBoxCustomer
不再回发到代码隐藏。
即使我点击了提交并且字段中的数据未验证,我该怎么做才能让TextBoxCustomer回发?
它与No postback after Javascript function有些相关 - 我认为这是因为验证返回false。
答案 0 :(得分:0)
将EnableClientScript="False"
添加到所有验证控件