【问题标题】:Populate model properties inside of the model在模型内部填充模型属性
【发布时间】: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


    【解决方案1】:

    在 MVC 中,我个人认为访问数据层是一个模型问题。控制器应该做的越少越好。所以理想情况下,我会在构造函数中首先将字典初始化为一个空字典,然后在 try..catch(出错时不执行任何操作)中获取字典的数据库值并再次设置它。

    【讨论】:

    • 但是模型变得如此“混乱”,有很多尝试/捕捉。如果数据库连接中断,我可以从服务方法返回一个空列表。但这可能只是个人代码的外观。它做同样的事情:P
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多