应该/不应该成为行动的一部分?

时间:2011-09-01 04:09:52

标签: asp.net-mvc

什么应该成为行动的一部分?目前我的操作非常简单,它们包含一些服务调用和返回View(在最简单的情况下):

public ActionResult SomeAction(int id)
{
   var myViewModel = _someViewService.Get(id);

   return View(myViewModel);
}

与此同时,我的同事可以自由地将代码直接放入动作中(我对此不感兴趣)。

那么正确的方法是什么?

1 个答案:

答案 0 :(得分:3)

从概念上讲,控制器(及其操作方法)应该只有获取视图所使用的数据所需的代码,通常是视图模型。

它将根据您的应用程序大小,层数和复杂程度而有所不同。因此它可能只包含一个简单的调用作为您的代码示例,或者,在其他情况下,它可能包含许多处理视图模型的行,然后在视图中使用它。

这里最重要的一点是直接从视图中避免访问数据服务和其他数据提供者。