Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.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# 不';在子页面中激发所需验证时t工作母版页事件_C#_Asp.net_Validation_Master Pages - Fatal编程技术网

C# 不';在子页面中激发所需验证时t工作母版页事件

C# 不';在子页面中激发所需验证时t工作母版页事件,c#,asp.net,validation,master-pages,C#,Asp.net,Validation,Master Pages,我的ASP.net网站中有一个母版页。这里我有一个按钮。它将导航到wecomePage。这是背后的代码 protected void ImageButtonShortcut1_Click(object sender, ImageClickEventArgs e) { Response.Redirect("welcomePage.aspx", true); //Server.Transfer("welcomePage.aspx", true); } 现在我有了一个继承了上面master的

我的ASP.net网站中有一个母版页。这里我有一个按钮。它将导航到wecomePage。这是背后的代码

protected void ImageButtonShortcut1_Click(object sender, ImageClickEventArgs e)
{
  Response.Redirect("welcomePage.aspx", true);
  //Server.Transfer("welcomePage.aspx", true);
}
现在我有了一个继承了上面master的childpage。在子页面中,我使用了一个带有
必需验证的文本框

<asp:TextBox ID="TextBox_Model" runat="server">  </asp:TextBox>
          <asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 
                         ControlToValidate="TextBox_Model" ErrorMessage="Model Required"></asp:RequiredFieldValidator> 

场景:当用户导航到上面的子页面并且没有在文本框中输入任何内容时,他试图点击母版页按钮返回到
WelcomePage


不幸的是,它不允许导航,因为用户没有填写必填字段。我怎样才能克服这个问题?请帮帮我。谢谢。

您似乎没有将ValidationGroup用于对应按钮的RequiredFieldValidator。试着用那个

<asp:RequiredFieldValidator ID="RequiredFieldValidator6" runat="server" 
                ValidationGroup="WelcomePageTxtBox" ControlToValidate="TextBox_Model" ErrorMessage="Model Required"></asp:RequiredFieldValidator> 
        <asp:Button ID="Button2" runat="server" ValidationGroup="WelcomePageTxtBox" Text="Button" />

基本上,当每个控件设置为CausesValidation属性设置为True时,都会发生这种情况

Validate方法迭代所有启用的验证控件 并验证它们。此事件发生在加载事件之后 在页面生命周期中

如果引发事件的控件指定了ValidationGroup, 然后,仅启用属于同一组的验证程序控件 ValidationGroup通过调用 验证(ValidationGroup)重载方法。如上所述 以前,对于具有 CausesValidation属性设置为true

  • 指定验证组将仅在页面生命周期期间得到验证

  • 在代码隐藏中,您可以这样做

    protected void button2_click(object sender, EventArgs e)
    {
    if(!page.isValid)
     //show errors
    }
    else
    {
     // do some stuffs
    }