MVC中的重定向不能像预期的那样工作

本文关键字:工作 重定向 不能 MVC | 更新日期: 2023-09-27 18:17:24

我有以下代码:

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

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

MVC中的重定向不能像预期的那样工作

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

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

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