【发布时间】:2016-06-08 11:57:58
【问题描述】:
我正在使用 MVC 5 开发网页,并且已经使用 MVC 进行开发已经有一段时间了。
我总是尝试/想学习新的方法/最佳实践来发挥我的编程技能。现在我只是偶然发现了 ViewModels 的一些东西。
例如,我在多个页面上使用相同的 ViewModel,我有字典属性来填充我的下拉列表。
所以通常我所做的是在控制器中创建一个私有方法,例如“SetupViewModel”,然后将字典填充到那里的模型属性和模型构造函数内部,只是一个“故障安全”创建一个空字典。
但是对于我现在正在处理的这个项目,我想我会尝试直接在模型构造函数中调用我的服务方法,该方法返回 ddl 的列表,然后在那里填充它。
这样做有什么好处或坏处。你会说什么是最佳实践?因为我可以看到一些问题,例如,如果数据库出现故障,如果我在控制器中有“setupViewModel”- 方法并且使用一些 try/catch 或防止崩溃的东西并且如果它在如果我没有在服务中添加一些故障安全功能,例如如果我无法从数据库中获取任何内容,则 VM 会直接崩溃。
所以它同样有很大的发展,但在不同的位置(我总是可以在 c 的服务中设置一些故障保护)。
但主要问题是,从模型或控制器填充模型属性的最佳做法是什么?
【问题讨论】:
标签: asp.net-mvc constructor model viewmodel populate