有几个链接按钮控件在我的主页,我绑定点击事件重定向到其他页面,它的工作。但如果我的内容页有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