1

我的母版页中有几个链接按钮控件,我绑定单击事件以重定向到其他页面,它可以工作。但是如果我的内容页面有验证器,它就不起作用。当我点击链接按钮时,验证器将停止事件,我应该怎么做才能解决它?谢谢。

页面.aspx

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

页面.aspx.cs

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

2 回答 2

1

您可以为此使用两个选项。

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

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

如果页面上有一个或两个不应触发验证的按钮,则第一个选项很好,但是第二个选项可以防止您添加可能干扰验证的新控件。

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

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

于 2013-04-17T08:28:04.413 回答