【问题标题】:Can I bind multiple forms to a single model using the default model binder?我可以使用默认模型绑定器将多个表单绑定到单个模型吗?
【发布时间】:2011-03-02 08:09:42
【问题描述】:

我有一个复杂的页面,上面有几个表单。该页面分为多个部分,每个部分上都有一个继续按钮。

页面绑定到 pageViewModel,每个部分都针对模型上的一组不同属性。

继续按钮对控制器进行 ajax 调用,模型绑定器将其适当地绑定到模型的适当部分。该部分已适当刷新。

最后,我想在页面底部有一个保存按钮,用于接收所有表单,并将所有表单绑定到模型。该模型,此时已填写所有属性,可以进行相应的处理。

我可以通过一些 ASP MVC 魔法来完成这个吗?

【问题讨论】:

    标签: c# .net asp.net asp.net-mvc modeling


    【解决方案1】:

    ASP.NET MVC Futures 包含nice helper method,它允许您将模型序列化为一个隐藏字段,该字段可以在表单发布到的下一个控制器操作中获取。这允许 WebForms ViewState 模仿。

    【讨论】:

      【解决方案2】:

      我会反过来做:对于部分,使用 jquery 只提交部分的元素。你已经在这里使用了 ajax。过滤要发布的元素可能没什么大不了的。

      这样保存操作不需要额外的工作。

      您也可以在没有 javascript 的情况下工作。它需要更多的工作来继续行动,但至少它是可能的。如果没有用于保存操作的多种表单的 javascript,就没有机会实现这一点。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-04-06
        • 2018-08-22
        • 1970-01-01
        • 2020-12-07
        • 2011-09-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-16
        相关资源
        最近更新 更多