【问题标题】:WebForms - Response.Redirect() does not change URLWebForms - Response.Redirect() 不会更改 URL
【发布时间】:2012-08-09 13:07:30
【问题描述】:

我确实有一个大问题,找不到任何解决方案。

我有三个 .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 方法时它起作用了,为什么?

有人可以帮帮我吗?

【问题讨论】:

  • 不,我不...... 将在与 asp 相同的位置工作:按钮
  • 您是否在使用任何更新面板,或任何与 AJAX 相关的东西。我想这就是罪魁祸首。
  • 我正在结合使用 jQuery Mobile..
  • 是的,它可以在没有 jquery 脚本的情况下工作:(
  • 点击按钮后页面是否回传?是否有任何 jquery 项目/事件与您的 bt_login 按钮相关联?正如上面的人所说,这听起来像是一些客户端脚本可能会干扰。

标签: c# asp.net response.redirect


【解决方案1】:

您可能正在使用某种身份验证(Windows/Forms/etc)并且您没有登录。检查您的 web.config,因为它可能会重定向到登录页面,直到您登录为止。菜单除非您登录,否则不允许使用 .aspx 页面,对吗?

【讨论】:

    【解决方案2】:

    我在使用 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>
    

    【讨论】:

      猜你喜欢
      • 2013-06-07
      • 2012-05-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多