我在单一解决方案下使用了两个项目 - PayrollMVC是包含两个项目的解决方案名称 1)工资单 2)员工 当我从工资单和重定向登录到员工项目控制器操作时,它不会调用控制器操作和员工项目的布局..请 建议我如何映射两个项目以及如何从一个项目调用操作到另一个项目 我也请告诉我没有调用员工项目的行动和布局是什么问题
答案 0 :(得分:0)
从一个解决方案调用另一个解决方案的一个解决方案是在控制器中使用服务器传输,如下所示:
public ActionResult Whatever()
{
string url = //...
Request.RequestContext.HttpContext.Server.TransferRequest(url);
return Content("success");//Doesn't actually get returned
}
从https://stackoverflow.com/a/20913290/201648
复制如果您想使用相同的网址将一些控制器快速传输到另一个网站上的网页,这非常有用,例如: http://example.com/payroll/foo可以显示内容http://example.com/employee/foo,但仍会显示在http://example.com/payroll/foo。这个解决方案很快就可以实现,但也很难实现,并且它无法解决您的布局问题(请继续阅读下面的内容以获得完整的解决方案)。
在不调用操作和布局方面,因为它们位于不同的项目中(因此当前项目并不了解它们)。出于这个原因,您可能想要设置区域的麻烦。这里有一个完整的指南:
https://msdn.microsoft.com/en-us/library/ee671793%28v=vs.100%29.aspx
您可以按照此链接中的说明设置区域的共享布局: http://brockallen.com/2012/08/31/sharing-a-single-_viewstart-across-areas-in-asp-net-mvc/
可以集中配置所有路径(用于控制器)。我首先从我发布的第一个链接查看注册区域路由和区域之间的链接。