Asp.net mvc 什么应该/不应该成为行动的一部分?

Asp.net mvc 什么应该/不应该成为行动的一部分?,asp.net-mvc,Asp.net Mvc,什么才是行动的一部分?目前我的操作非常简单,它们包括一些服务调用和返回视图(在最简单的情况下): 同时,我的同事觉得可以自由地将代码直接放在操作中(我对此感到不舒服) 那么正确的方法是什么呢?从概念上讲,控制器(及其操作方法)应该只有获取视图(通常是视图模型)将使用的数据所需的代码 它将根据应用程序的大小、层的数量和复杂性而有所不同。因此,它可能只包含一个简单的调用作为代码示例,或者在其他情况下,它可能在视图中使用viewmodel之前包含许多处理viewmodel的行 这里最重要的一点是避免直

什么才是行动的一部分?目前我的操作非常简单,它们包括一些服务调用和返回视图(在最简单的情况下):

同时,我的同事觉得可以自由地将代码直接放在操作中(我对此感到不舒服)


那么正确的方法是什么呢?

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

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


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

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

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


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

您可以在程序员身上找到很多关于此的讨论:您可以在程序员身上找到很多关于此的讨论:
public ActionResult SomeAction(int id)
{
   var myViewModel = _someViewService.Get(id);

   return View(myViewModel);
}