Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# MVC中的重定向未按预期工作_C#_Asp.net Mvc_Asp.net Mvc 3_Http Redirect - Fatal编程技术网

C# MVC中的重定向未按预期工作

C# MVC中的重定向未按预期工作,c#,asp.net-mvc,asp.net-mvc-3,http-redirect,C#,Asp.net Mvc,Asp.net Mvc 3,Http Redirect,我有以下代码: 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 但是,当我逐步浏览代码时,浏览

我有以下代码:

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

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

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

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

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

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

var redirectIp = string.Format("http://{0}{1}", Session["CurrentHost"], ip.PathAndQuery);
return new RedirectResult(redirectIp);
现在这样做会更好,但为了能够涵盖https,最好将协议部分与主机名一起存储在会话变量中