MVC 中的重定向无法按预期工作
Posted
技术标签:
【中文标题】MVC 中的重定向无法按预期工作【英文标题】:Redirect in MVC does not work as expected 【发布时间】:2012-01-16 13:14:08 【问题描述】:我有以下代码:
var redirectIp = string.Format("01", 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
我完全糊涂了。有人知道发生了什么吗?
【问题讨论】:
【参考方案1】:这就是 url、http 和浏览器的工作方式。您忘记了协议部分,因此重定向实际上确实按预期工作,给定您要重定向到的 url。
var redirectIp = string.Format("http://01", Session["CurrentHost"], ip.PathAndQuery);
return new RedirectResult(redirectIp);
现在这会更好,但为了能够覆盖 https,最好将协议部分与主机名一起存储在会话变量中。
【讨论】:
以上是关于MVC 中的重定向无法按预期工作的主要内容,如果未能解决你的问题,请参考以下文章