Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 按注销按钮而不是提交时尝试验证_C#_Asp.net - Fatal编程技术网

C# 按注销按钮而不是提交时尝试验证

C# 按注销按钮而不是提交时尝试验证,c#,asp.net,C#,Asp.net,在我的管理页面上有一个“注销”按钮。在一个页面上,您可以填写并提交此表单,它有一些验证程序控件。问题是,当我在这个页面上时,我无法注销,因为它希望填写文本框,即使它-显然-不是通过注销按钮提交的。每次您试图离开此页面时,即使我不尝试提交表单,验证程序是否都在执行?需要明确的是:它适用于每一个其他页面,只是这里的验证阻止了它 表格编号: <p> <asp:Label ID="lblA" runat="server" Text="LabelA"></as

在我的管理页面上有一个“注销”按钮。在一个页面上,您可以填写并提交此表单,它有一些
验证程序控件
。问题是,当我在这个页面上时,我无法注销,因为它希望填写文本框,即使它-显然-不是通过注销按钮提交的。每次您试图离开此页面时,即使我不尝试提交表单,验证程序是否都在执行?需要明确的是:它适用于每一个其他页面,只是这里的验证阻止了它

表格编号:

<p>
        <asp:Label ID="lblA" runat="server" Text="LabelA"></asp:Label><br />
        <asp:TextBox ID="txtA" runat="server"></asp:TextBox>
        *

                <asp:RequiredFieldValidator
                    ID="rfvA"
                    runat="server"
                    ControlToValidate="txtA"
                    ErrorMessage="Required"
                    Display="Dynamic">
                </asp:RequiredFieldValidator>
    </p>
    <p>
        <asp:Label ID="lblB" runat="server" Text="LabelB"></asp:Label><br />
        <asp:TextBox ID="txtB" runat="server"></asp:TextBox>
        *

                <asp:RequiredFieldValidator
                    ID="rfvB"
                    runat="server"
                    ControlToValidate="txtB"
                    ErrorMessage="Required"
                    Display="Dynamic">
                </asp:RequiredFieldValidator>
    </p>

有什么想法吗?

在按钮上添加原因验证错误


您还可以使用控件的
验证组
属性。 将相同的
ValidationGroup
分配给验证所需的控件组(和
RequiredFieldValidator
),如用户名和密码文本框和登录按钮(在您的情况下分配给两个文本框),并将不同的
ValidationGroup
分配给其他控件(在您的情况下分配给注销按钮)

因此,验证仅在单击同一验证组的按钮时触发

<asp:Button runat="server" Text="Log out" ID="btnLogout" OnClick="btnLogout_Click"/>
protected void btnLogout_Click(object sender, EventArgs e)
    {
        FormsAuthentication.SignOut();
        FormsAuthentication.RedirectToLoginPage();
    }