从其他项目的控制器调用一个项目的Controller

时间:2012-05-16 06:41:25

标签: asp.net-mvc-3 asp.net-mvc-routing

我使用的是asp.net Mvc3 我在两个不同的项目中有2个控制器。

HomeProject中的HomeController和 WorkProject中的WorkController

我需要从Home Project的Home Controller调用Work controller及其视图。

类似于:

  public ActionResult Home()
  {
     ViewBag.work = "Work/work/";
     return View(ViewBag.work);
  }

但不知道究竟是怎么做的

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:0)

你不能使用mvc框架(Html.Action等)提供给你的东西。该框架并非旨在处理这种情况(也不应该)。

如果您愿意硬编码工作服务器的地址,可以将其视为外部链接:

public ActionResult Home()
  {
     Response.Redirect("http://workserver.com/work/work");
  }

顺便说一句,如果你问这个问题,那你做错了什么。 (你尝试过使用过区域吗?)

答案 1 :(得分:0)

如果您的两个项目作为单个Web应用程序运行。你可以使用

return RedirectToAction("Action", "Work")

这会将您重定向到“工作”控制器的“操作”操作。 请注意,您无法“呼叫”控制器 - 而是控制器上的操作。