ASPNET MVC你怎么称呼它,局部视图?或者是其他东西?

时间:2010-04-26 05:53:33

标签: asp.net-mvc

我正在尝试google获取有关情况的信息,但我不知道它叫什么,所以很难找到结果:)

我有一个说10个字段的模型。但只有其中一些在特定视图中显示,让我们说其中3个:id,name,date。你怎么称呼这种不显示整个模型的视图?部分观点?

问题在于,由于7个字段未发送到视图,因此在控制器上调用Update操作时,这些字段为空,并且更新了DB,并将这7个字段设置为null。

2 个答案:

答案 0 :(得分:2)

这称为ViewModel,来自Model,更适合View

答案 1 :(得分:0)

这仍然是一种观点。

您没有指定使用的是哪种存储,我将使用实体框架做一个示例,但您可以使用您喜欢的任何方法来实现。

视图的模型是实体。在视图中显示表单时,模型中只有部分字段是可编辑的。因此,当用户提交时,您的模型只填写了几个字段。

因此,您应该从数据库中检索正在编辑的对象的新副本(称之为“fromDb”),仅将已编辑的字段复制到fromDb对象中,并保存fromDb对象。

这样,所有字段都会被保留。

另一种方法是为所有不存在的字段渲染隐藏字段。但是这不安全,因为用户可以手动编辑这些字段(使用开发人员工具或firebug)。

相关问题