C# ASP验证终止回发

C# ASP验证终止回发,c#,asp.net,postback,asp.net-3.5,C#,Asp.net,Postback,Asp.net 3.5,我有一个.aspx页面,它显示来自数据库的信息,并允许用户添加新项目 该页面包含一个updatepanel。在该updatepanel中,有一个gridview和一个包含一些输入元素的面板: <asp:Panel runat="server" ID="NewPersonPanel" DefaultButton="NewPersonButton" Visible="false"> <div id="newItemForm"> <label fo

我有一个.aspx页面,它显示来自数据库的信息,并允许用户添加新项目

该页面包含一个updatepanel。在该updatepanel中,有一个gridview和一个包含一些输入元素的面板:

<asp:Panel runat="server" ID="NewPersonPanel" DefaultButton="NewPersonButton" Visible="false">
    <div id="newItemForm">
        <label for="NewPersonName">Name:</label>     
        <asp:TextBox ID="NewPersonName" runat="server" MaxLength="50" />         
        <asp:RequiredFieldValidator ID="RequiredName" EnableClientScript="true" ControlToValidate="NewPersonName" ErrorMessage="Name must not be empty" ValidationGroup="NewPersonValidationGroup" runat="server" /><br />

        <label for="NewPersonFirstName">First Name:</label>     
        <asp:TextBox ID="NewPersonFirstName" runat="server" MaxLength="50" />         
        <asp:RequiredFieldValidator ID="RequiredFirstName" EnableClientScript="true" ControlToValidate="NewPersonFirstName" ErrorMessage="First name must not be empty" ValidationGroup="NewPersonValidationGroup" runat="server" /><br />

        <div id="newPersonControls">
            <asp:LinkButton ID="NewPersonButton" ValidationGroup="NewPersonValidationGroup" runat="server" OnCommand="PersonGrid_Insert">Create</asp:LinkButton>
            <asp:LinkButton ID="HideInputFormButton" runat="server" OnCommand="HideInputForm">Cancel</asp:LinkButton>
        </div>
    </div>
</asp:Panel>

但是那里从来没有任何答案。

因为您设置了验证,所以无法回发

但是,您可以使用
ValidatorEnable(对象,真/假)

这需要两个参数,第一个是对象,第二个是启用还是禁用

在你的情况下,这是错误的


但是您必须对表单中的所有控件(您已经为其设置了验证)执行此操作。

哦,我认为ValidationGroup会自动处理此问题。这是否意味着我必须修改每一个导致回发的链接按钮?奇怪的是,只要验证不需要启动,一切都可以完美运行;如果我填写这两个字段,我可以创建人物、浏览gridview、使用分页等。。。很好。不,如果你用过分组,那么你也可以分组。看看这个博客,这个家伙给出了一个很好的例子