创建一个PopulateController来处理PartialViews&中的DropDownLists的填充。 EditorTemplates

时间:2015-02-16 22:09:34

标签: c# asp.net-mvc razor asp.net-mvc-5

我是ASP.NET MVC5的新手,我正在构建我的第一个Web应用程序。我注意到一些DropDownLists将在整个应用程序中使用,因此决定为它们创建EditorTemplates。例如,States,Countries等。需要它们的视图使用@ Html.EditorFor帮助器将它们插入到页面中。

我主要关心的是如何使用返回Json的方法(如GetStates(),GetCountries())全局填充它们。起初我以为我必须在每个控制器中创建一个方法来呈现它所使用的视图。然后我说为什么我不创建一个控制器,它包含所有我不会在整个站点中改变的填充方法,如GlobalController,PopulateController,AjaxController等。

这是正常的事情,还是控制器的特定命名约定?我之前从未见过例子,所以我想知道是否有更好的方法来处理这些事情。

1 个答案:

答案 0 :(得分:1)

我认为命名是一种偏好。我将数据库中的大多数只读类型表分解为TypeController。每当我需要添加或修改Type表时,都很容易找到它。

就个人而言,我将支持crud操作的任何表/实体放入其自己的控制器中。你最终得到了很多控制器,但它使维护变得不那么麻烦。

如果您要使用控制器更新组合,那么除非您使用自定义ui框架的扩展函数,否则您可能会通过return Json(myModel,JsonBehaviour.AllowGet);返回json。

我一直使用数据实体的存储库模式,并且在mvc中找到了单个最佳节省时间,使用映射库(如AutoMapper)从Mvc模型映射到Domain对象和副sersa。