【问题标题】:.NET MVC - Call a controller Action from another controller action.NET MVC - 从另一个控制器动作调用控制器动作
【发布时间】:2010-09-29 08:55:58
【问题描述】:

我有一个控制器动作,我想调用另一个控制器动作。

这是一个有效的做法。有可能吗?

【问题讨论】:

标签: asp.net-mvc controller


【解决方案1】:

Controller.RedirectToAction

【讨论】:

  • 这是一个 HTTP 302 内容重定向,涉及浏览器往返。有没有办法摆脱往返?
  • 控制器操作是公开可见的 HTTP 端点。如果你有两个动作需要做同样的事情,那么你需要的是一组非公共控制器方法或一组服务。
  • 在您调用的控制器中输入 return View("viewName", object);在另一个控制器调用中返回 (params...)
  • 您能详细解释一下服务解决方案吗?
  • 为什么不创建该控制器对象的实例并调用该方法?这是一个简单的 OOP 解决方案,不需要您进行任何重定向...
【解决方案2】:

正如@Justice 所说,您可以使用 RedirectToAction。此外,您可以使用 TempData 在控制器操作之间传递模型(和其他)数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-08-11
    • 2013-05-28
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多