我可以使用默认的模型绑定器将多个表单绑定到单个模型吗?
问题描述:
我有一个复杂的页面,上面有几个表单。该页面分为几个部分,每个部分都有一个继续按钮。我可以使用默认的模型绑定器将多个表单绑定到单个模型吗?
页面被绑定到一个pageViewModel,每个部分都处理模型上的一组不同的属性。
继续按钮对控制器进行ajax调用,并且模型联编程序将其适当地绑定到模型的相应部分。该部分适当刷新。
最后,我想在页面底部有一个保存按钮,它将所有的表单绑定到模型上。该模型在这一点上已经填写了所有的属性,并且可以相应地进行处理。
我可以通过一些ASP MVC魔术来实现吗?
答
ASP.NET MVC Futures包含nice helper method,允许您将模型序列化到隐藏字段中,该字段可以在表单发布到的下一个控制器操作中获取。这允许WebForms ViewState模仿。
答
我会这样做:对于部分使用jquery只提交该部分的元素。你已经在这里使用ajax了。过滤要发布的元素可能不是什么大问题。
这样保存操作不需要额外的工作。
你也可以在没有javascript的情况下工作。继续行动需要更多的工作,但至少是可行的。如果没有使用多种形式的JavaScript来执行保存操作,就没有机会获得这项工作。