我可以在网页中使用多个ASP.NET按钮吗?

时间:2014-03-01 14:27:34

标签: c# html asp.net webforms

我在母版页中使用了多个按钮。我的登录页面上还有一个按钮。问题是在使用登录按钮提交登录页面的内容时,它可以正常工作,但是当在登录页面中我clik Home按钮(主页面按钮)时,它不起作用,它可以作为提交按钮。

我的主页代码:

<body style="margin:0px;">
<form id="form1" runat="server">
<div>
    <div class="auto-style1" style="background-color: #3399FF; height: 42px;">
        <asp:Button ID="homeButton" runat="server" CssClass="auto-style2" Text="Home" Width="126px" BorderStyle="None" BackColor="#3366FF" Height="42px" OnClick="homeButton_Click" />
        <asp:Button ID="newsButton" runat="server" CssClass="auto-style3" Text="News" Width="127px" BorderStyle="None" BackColor="#3366FF" Height="42px" OnClick="newsButton_Click" />
        <asp:Button runat="server" CssClass="auto-style4" Text="Shared Files" Width="123px" BorderStyle="None" BackColor="#3366FF" Height="42px" OnClick="Unnamed1_Click" />
        <asp:Button ID="memberButton" runat="server" CssClass="auto-style5" Text="Members" Width="117px" BorderStyle="None" BackColor="#3366FF" Height="42px" OnClick="memberButton_Click" />
        <asp:Button ID="blogButton" runat="server" CssClass="auto-style6" Text="Blogs" Width="103px" BorderStyle="None" BackColor="#3366FF" Height="42px" OnClick="blogButton_Click" />

        <asp:Button ID="loginButton" runat="server" BackColor="#3366FF" BorderStyle="None" CssClass="auto-style8" Height="42px" Text="Log in" Width="82px" OnClick="loginButton_Click" />
        <asp:Button ID="Button1" runat="server" BackColor="#3366FF" BorderStyle="None" CssClass="auto-style9" Height="42px" Text="Register" Width="96px" OnClick="Button1_Click" />

    </div>
    <asp:ContentPlaceHolder id="ContentPlaceHolder1" runat="server">

    </asp:ContentPlaceHolder>

</div>
</form>

我的母版页代码背后是:

protected void homeButton_Click(object sender, EventArgs e)
{
   Response.RedirectPermanent("Home.aspx");
}
protected void newsButton_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("News.aspx");
}
protected void Unnamed1_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("Shared_Files.aspx");
}
protected void memberButton_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("Members.aspx");
}
protected void blogButton_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("Blogs.aspx");
}
protected void loginButton_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("Login.aspx");
}
protected void Button1_Click(object sender, EventArgs e)
{
    Response.RedirectPermanent("Register.aspx");
}

2 个答案:

答案 0 :(得分:0)

ClickEventHandlers正文中的问题。您使用RedirectPermanent方法 来自msdn:

  

RedirectPermanent(String)方法重载在响应中提供301 HTTP状态代码,并包含将请求重定向到的URL。 301 HTTP状态代码是HTTP响应中的标准代码。它表示存在永久重定向,并提供重定向位置。

     

调用RedirectPermanent(String)方法重载会终止响应。

所以你需要使用简单的Redirect代替

答案 1 :(得分:0)

建议使用母版页中的菜单控制,而不是使用按钮控件进行页面之间的导航