为了清楚起见,我的问题是如何使用单个视图创建多个对象。我的ViewModel工作正常,我可以显示多个对象没有问题。

.NET编码之间已经有一段时间了(我上一次使用2.0编码)。我创建了一个MVC 4项目,并成功创建了一个ViewModel(在多个对象的单个视图上显示数据)。

但是,我作弊。我直接填充了数据库。我现在反过来面对这个问题,从单个视图创建多个对象的最佳实践是什么?

在我的示例中,我有一个用户,该用户具有一个userId。 userId是UserDetails中的外键。

只是想重新陷入困境,想知道你们在做什么?

最佳答案

有6种方法可以在MVC中传递多个对象


视图模型
部分视图
ViewBag
ViewData
临时数据
元组


每个人都有自己的优缺点。您必须根据自己的问题来决定。
有关更多信息,您可以参考其上的代码项目文章:How to Choose the Best Way to Pass Multiple Models in ASP.NET MVC

让我给出视图模型的优点和缺点

ViewModel:
优点


ViewModel允许我们将View中的多种模型类型呈现为
单一模型。
强大的智能支持和View上的编译时错误检查
页。
ViewModel对安全性也有好处,因为Views只有什么
他们确实需要。核心域模型不向用户公开。
如果核心域模型发生任何变化,则无需
在查看代码中的任何地方更改,只需要修改相应的
ViewModel。


缺点


ViewModels在模型和视图之间添加了另一层,因此它增加了
有点复杂。因此,对于小型和演示应用程序,我们
可以使用元组或其他方式来简化演示过程。

关于c# - MVC从单个 View 创建多个对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22682888/

10-10 22:02