WebForms - Response.Redirect()不会更改URL

时间:2012-08-09 13:07:30

标签: c# asp.net response.redirect

我确实遇到了大问题,找不到任何解决方案。

我有三个.aspx页面。 1)登录 2)菜单 3)天

登录页面有一个按钮:

<asp:Button ID="bt_login" onClick="bt_login_Click" runat="server" Text="Login" />

和这个方法:

protected void bt_login_Click(object sender, EventArgs e)
{
     Response.Redirect("~/Menu.aspx");        
}

当我点击按钮时,它会重定向到Menu.aspx,但URL仍然显示为Login.aspx 因此,当我单击Menu.aspx中的任何按钮时,它将指示我返回Login.aspx

当我尝试将Redirect放入Page_Load方法时,它有效吗?

有人可以帮帮我吗?

2 个答案:

答案 0 :(得分:1)

您可能正在使用某些类型的身份验证(Windows / Forms / etc)并且您尚未登录。请检查您的web.config,因为它可能会重定向到登录页面,直到您登录为止。菜单除非您已登录,否则不允许.aspx页面,我是否正确?

答案 1 :(得分:0)

使用jquery mobile时遇到同样的问题。

        If FormsAuthentication.Authenticate(strUsername, strPassword) Then
            FormsAuthentication.RedirectFromLoginPage(strUsername, False)
        Else
            ' show login error
            lblLoginError.Visible = True
        End If

在我进行身份验证后,它会转到default.aspx页面,但页面的url列出了返回的URL并且css无法正常工作。

我评论了这个(下面)并且它有效:

      <script src="http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js"></script>