母版页按钮触发验证控件



有几个链接按钮控件在我的主页,我绑定点击事件重定向到其他页面,它的工作。但如果我的内容页有Validator,它就不起作用了。当我单击链接按钮时,验证器将停止事件,我应该如何解决这个问题?谢谢。

Page.aspx

<asp:LinkButton ID="lnkbtnHomePage" runat="server" Font-Underline="true" ForeColor="White" OnClick="lnkbtnHomePage_Click">HomePage</asp:LinkButton>

Page.aspx.cs

protected void lnkbtnHomePage_Click(object sender, EventArgs e)
{
    Response.Redirect("Index.aspx");
}

您可以使用两个选项。

第一个是将属性CausesValidation="false"添加到不想在页面上触发任何验证的按钮。

第二个选项是将ValidationGroup="[groupname]"属性添加到您想要触发验证的控件和按钮中。

第一个选项是好的,如果你有一个或两个按钮在页面上不应该触发验证,但是第二个选项给你一个保护,防止你添加一个新的控件,可能会干扰你的验证。

当页面的不同部分有自己的验证组并且不应该影响其他部分时,第二个选项也非常方便。例如,如果您在母版页上有一些标准控件,这些控件在整个站点中显示,但随后有带有自己表单的单独页面。你可以很容易地控制它们的行为。

然而,正如Yassine Houssni所提到的,您最好只是使用标准的<a>标签甚至<asp:HyperLink>控件来进行简单的行为,如更改页面。如果你的链接突然改变了,那么你将需要重新编译项目,而不是能够更新.aspx/母版页中的链接。

希望对您有所帮助http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.causesvalidation.aspx

u可以通过链接按钮的验证http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.linkbutton.causesvalidation.aspx

最新更新