如何处理多个模型绑定表格

时间:2012-02-08 19:25:24

标签: asp.net-mvc-3 razor fluentvalidation

我正在建立一个用于编辑电子商务订单详情的UI屏幕。我的视图模型(OrderModel)具有我需要的一切(在也是ViewModel的属性中),但UI并不能够一次编辑所有的视图。

例如,UI的一部分用于客户数据...另一部分用于订单详细信息,另一部分用于跟踪信息,每个部分都有自己的“保存”按钮。

我意识到我可以使用一个巨大的表单并使用隐藏的表单字段来填充不可编辑的字段,使每个“保存”按钮发布所有数据,但闻起来很糟糕。

我想将可编辑的块分割成较小的ViewModel,这些ViewModel是单独发布和验证的,同时保留了强类型,但我不确定如何在MVC3中实现这一点。我是否需要从主视图调用的部分视图?

仅供参考,我正在使用带有Razor语法的ASP.NET MVC 3和客户端FluentValidation。

1 个答案:

答案 0 :(得分:1)

部分视图是一个很好的解决方案。您可以将不同的ViewModel传递给每个局部视图。但是,如果一次只更新整个视图的部分,我就不会在整个页面上回复。相反,我会使用JQuery / Javascript将Ajax调用更新回控制器。我还会研究像Knockout.js这样的东西来处理页面上的数据绑定。