2012-02-08 43 views
0

我正在构建UI屏幕以编辑电子商务订单的详细信息。我的视图模型(OrderModel)具有我需要的一切(在也是ViewModel的属性中),但UI的设计不能一次性编辑所有模型。如何处理多个模型绑定表格

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

我意识到我可以使用一个巨大的窗体并使用隐藏的窗体字段来填充不可编辑的字段,使每个“保存”按钮都发布所有数据,但是这种气味很糟糕。

我想将可编辑的块分割成更小的ViewModels,这些ViewModels单独发布和验证,同时保留强类型,但我不确定如何在MVC3中实现此功能。我需要从主视图调用的部分视图吗?

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

回答

1

部分视图是一个很好的解决方案。您可以将不同的ViewModel传递给每个局部视图。但是,如果整个视图中只有部分更新,我不会在整个页面上发布回复。相反,我会使用使用JQuery/Javascript的Ajax调用来将个人信息更新回控制器。我也会研究一些类似Knockout.js的内容来处理页面上的数据绑定。

+0

我秒 - 我会使用ajax部分加载 – 2012-02-21 17:05:44