MVC在一个解决方案中从一个项目重定向到另一个项目

时间:2014-08-18 05:27:32

标签: asp.net-mvc-4

如何在同一个解决方案中从一个MVC项目重定向到另一个MVC项目然后传递参数而不传递它们抛出url?

提前致谢,

1 个答案:

答案 0 :(得分:2)

部署应用程序后,不再有诸如解决方案或项目之类的概念。您只能重定向到相对或绝对网址。相对URL将是同一Web应用程序的一部分,因此您可以重定向到相应的控制器操作:

return RedirectToAction("SomeAction", "SomeController");

如果您需要重定向到另一个应用程序,您需要使用绝对URL:

return Redirect("http://localhost:1234/SomeController/SoneAction");

显然,要使其工作,其他应用程序需要在网络服务器中启动和托管。

就传递参数而言,HTTP协议在发出GET请求时定义的标准方式是将它们作为键值对传递给查询字符串。假设其他应用程序与源应用程序托管在同一个域中,您还可以设置一个cookie,其值可以由目标应用程序读取。

以下是在重定向之前如何设置cookie的示例:

var cookie = new HttpCookie("cookieName", "someValue")
cookie.Domain = ".example.com";
Response.SetCookie(cookie);
return Redirect("http://example.com/SomeController/SoneAction");