2010-07-14 116 views
0

我的问题是,我想部分编辑我的模型 - 例如显示2个字段并编辑另外2个字段。发生POST时,返回的模型只包含可编辑的字段,我仅用于显示的其他字段为NULL。如何解决这个问题,在POST上返回所有字段的模型,因为在ERROR的时候我返回这个模型并且字段为空不是很好?ASP.NET MVC 2模型部分绑定

回答

3

模型联编程序仅将表单值绑定到具有setter的模型属性。

取决于你需要什么来实现:

您可以使用隐藏的输入存储在视图中的值,这些必将回来(因为该属性有一个setter)

<%= Html.Hidden(Model.SomeField) %> 

class YourViewModel 
{ 
    public SomeField {get; set;} 

或者,您应该确保在您的控制器操作中您只更新显示在视图中的字段,而不是空字段。

理想情况下,您的视图模型应该只包含与视图相关的属性(以及控制器处理的逻辑)。

+0

感谢此...“模型绑定器仅将表单值绑定到具有setter的模型属性。”这是我一直在寻找的答案,现在超过5个小时。我知道我错过了一些荒谬简单的东西,在构建我自己的SO帖子时偶然发现了这一点。非常感谢! – reidLinden 2014-01-17 18:00:44