Asp.net mvc 控制器数量

Asp.net mvc 控制器数量,asp.net-mvc,controller,Asp.net Mvc,Controller,我正在制作一个Asp.NETMVC3项目,它应该有大约10-15个视图 我应该如何决定是将它们放在一个控制器还是多个控制器中 或者对数据库的一个表使用一个控制器是更好的方法吗?逻辑上分离控制器。如果你有处理产品的东西,做一个产品控制器。如果您正在处理一个帐户,请使用AccountsController等。逻辑上分离控制器。如果你有处理产品的东西,做一个产品控制器。如果您正在处理帐户,请使用AccountsController等。实际上取决于您的设计。示例:带有地址的客户端可能保存在多个表中(cl

我正在制作一个Asp.NETMVC3项目,它应该有大约10-15个视图

我应该如何决定是将它们放在一个控制器还是多个控制器中


或者对数据库的一个表使用一个控制器是更好的方法吗?

逻辑上分离控制器。如果你有处理产品的东西,做一个产品控制器。如果您正在处理一个帐户,请使用AccountsController等。

逻辑上分离控制器。如果你有处理产品的东西,做一个产品控制器。如果您正在处理帐户,请使用AccountsController等。

实际上取决于您的设计。示例:带有地址的客户端可能保存在多个表中(clientinfo、address等),在这种情况下,您最好只使用一个客户端控制器。无论如何,这只是一种情况

这实际上取决于你的设计。示例:带有地址的客户端可能保存在多个表中(clientinfo、address等),在这种情况下,您最好只使用一个客户端控制器。无论如何,这只是一种情况

通常,当您遇到尚未拥有控制器的新业务实体时,您应该创建一个新控制器。因此,您可以创建
CustomerController
ProductsController
,但创建
CustomerStopProductsController
没有意义


控制器与数据库表既不是1对1,也与视图肯定不是1对1。我希望这会有所帮助。

通常,当您遇到一个尚未拥有控制器的新业务实体时,您应该创建一个新控制器。因此,您可以创建
CustomerController
ProductsController
,但创建
CustomerStopProductsController
没有意义


控制器与数据库表既不是1对1,也与视图肯定不是1对1。我希望这会有所帮助。

使用控制器到表的方法肯定不是更好的方法,除非您的表的布局使每个逻辑对象及其所有部分都在一个表中。正如Dismissle所说。按模块、用户组、权限或组合进行逻辑分组。i、 e.注册、登录、产品、用户账号等

除非您的表的布局使每个逻辑对象及其所有部分都位于一个表中,否则使用控制器到表的方法肯定不是更好的方法。正如Dismissle所说。按模块、用户组、权限或组合进行逻辑分组。i、 e.注册、登录、产品、用户账号等

您可以根据域需要创建控制器。例如,如果您有一个具有注册表单/登录名的系统,您可以为该系统创建一个名为“User”的控制器,并且可以为这些控制器创建不同的操作方法

 public class UsersController : Controller
 {
    // Get Request
    public ActionResult Signup()
    {
      return View();
    }
    // Sign up post
    [HttpPost]
    public ActionResult Signup()
    {
      // to do : your signup validation logic here
      return View();
    }

    // Get Request
    public ActionResult Login()
    {
      return View();
    }
    // Login post
    [HttpPost]
    public ActionResult Login()
    {
      return View();
    }

 }
类似地,您可以为另一个域模型(如产品)使用另一个控制器

 public class ProductsController : Controller
 {
    // Get Request to list all Products
    public ActionResult List()
    {
      return View();
    }
    //remaining action methods based on your need
 }

我想,您的表将主要代表您的域模型。因此,您可以为每个表(如用户、客户、产品、订单等)创建控制器。

您可以根据域需要创建控制器。例如,如果您有一个具有注册表单/登录名的系统,您可以为该系统创建一个名为“User”的控制器,并且可以为这些控制器创建不同的操作方法

 public class UsersController : Controller
 {
    // Get Request
    public ActionResult Signup()
    {
      return View();
    }
    // Sign up post
    [HttpPost]
    public ActionResult Signup()
    {
      // to do : your signup validation logic here
      return View();
    }

    // Get Request
    public ActionResult Login()
    {
      return View();
    }
    // Login post
    [HttpPost]
    public ActionResult Login()
    {
      return View();
    }

 }
类似地,您可以为另一个域模型(如产品)使用另一个控制器

 public class ProductsController : Controller
 {
    // Get Request to list all Products
    public ActionResult List()
    {
      return View();
    }
    //remaining action methods based on your need
 }
我想,您的表将主要代表您的域模型。因此,您可以为每个表(如用户、客户、产品、订单等)创建一个控制器