【问题标题】:Redirect in MVC does not work as expectedMVC 中的重定向无法按预期工作
【发布时间】:2012-01-16 13:14:08
【问题描述】:

我有以下代码:

var redirectIp = string.Format("{0}{1}", Session["CurrentHost"], ip.PathAndQuery);
return new RedirectResult(redirectIp);

当我检查 redirectIP 的值时,它给了我:

redirectIp  "127.0.0.1:84/Administration/Accounts/ShowSummary?ds=0001"  string

但是,当我单步执行代码时,浏览器会打开并显示以下内容:

http://127.0.0.1:84/Administration/Accounts/127.0.0.1:84/Administration/Accounts/ShowSummary?ds=0001

我完全糊涂了。有人知道发生了什么吗?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 http-redirect


    【解决方案1】:

    这就是 url、http 和浏览器的工作方式。您忘记了协议部分,因此重定向实际上确实按预期工作,给定您要重定向到的 url。

    var redirectIp = string.Format("http://{0}{1}", Session["CurrentHost"], ip.PathAndQuery);
    return new RedirectResult(redirectIp);
    

    现在这会更好,但为了能够覆盖 https,最好将协议部分与主机名一起存储在会话变量中。

    【讨论】:

      猜你喜欢
      • 2018-03-28
      • 1970-01-01
      • 2019-06-29
      • 1970-01-01
      • 1970-01-01
      • 2015-03-15
      • 2015-04-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多