假设我有一个列出人员的网站,每个人都有多个属性,一些一对一(姓名,地址),一些一对多(喜欢的颜色,银行账户等)。< / p>
在我的业务层中,它的层次结构很好。
我如何组织这是我的控制器和视图? 我应该有PersonsController,FavoriteColorsController等吗?所有都驻留在同一名称空间和文件夹中?或者我应该使用具有许多操作的PersonsController,例如IndexFavouriteColors,UpdateFavoriteColor等。两个选项都不是它。第一个没有显示FavoriteColors是Person的子项,只能在person的上下文中使用。第二个将创建一个巨大的PersonController。
同样的观点当然是观点。最好的是
在这个例子中,我只为Person提供了一些一对多属性,但实际上有很多(10+)属性,因此增加了对清晰度的需求。
感谢。
答案 0 :(得分:4)
实际上我在“区域”中找到了答案,据说这是由Rails支持的,但不是由MVC支持,尽管有私有实现:
Grouping Controllers with ASP.NET MVC
Creating MVC "Areas" as Subfolders under Views
答案 1 :(得分:0)
PersonsController.cs
public ActionResult Index()
{
return View();
}
public ActionResult Details()
{
return View();
}
public ActionResult Info()
{
return View();
}
...
右键单击每个方法并生成视图
结果中的Views文件夹中应该有
Views
----- Persons
-------------Index
-------------Details
-------------Info
-------------....