我的母版页中有几个链接按钮控件,我绑定点击事件以重定向到其他页面,它的工作原理。但是如果我的内容页面有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");
}
答案 0 :(得分:1)
您可以使用两种方法。
第一种是将属性CausesValidation="false"
添加到您不想在页面上触发任何验证的按钮。
第二个选项是将ValidationGroup="[groupname]"
属性添加到要触发验证的控件和按钮。
如果页面上有一个或两个不应触发验证的按钮,则第一个选项很好,但是第二个选项可以防止您添加可能会影响验证的新控件。
如果页面的不同部分具有自己的验证组且不应影响其他部分,则第二个选项也非常方便。例如,如果您的母版页上有一些标准控件,这些控件会显示在整个站点中,但随后会有各自的页面显示自己的表单。你可以很容易地控制他们的行为。
然而,正如Yassine Houssni所提到的那样,最好只使用标准的<a>
标签甚至<asp:HyperLink>
控件来简化行为,如更改页面。如果链接突然改变,那么您将需要重新编译项目,而不是能够更新.aspx / master页面中的链接。
答案 1 :(得分:0)