2011-12-09 34 views
0

我有以下代码:重定向MVC中不能按预期工作

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 

我完全困惑。任何人有任何想法发生了什么?

回答

4

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

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

这将工作现在更好,但要能也包括HTTPS,你最好存储在一个会话变量协议部分与主机一起。