javascript验证后的火回发

时间:2015-03-20 07:38:34

标签: c# asp.net validation webforms postback

我有以下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。

1 个答案:

答案 0 :(得分:0)

EnableClientScript="False"添加到所有验证控件