【问题标题】:How to specify one input model for MVC3 and the other output (result) model?如何为 MVC3 指定一个输入模型和另一个输出(结果)模型?
【发布时间】:2012-07-09 13:51:50
【问题描述】:

当我需要将一个 ViewModel 类传递到 asp 页面(包含要显示的各种数据)并且我需要 提交另一个 Model 类时,我应该怎么做? strong>(通过form标签)返回服务器?

【问题讨论】:

    标签: asp.net-mvc asp.net-mvc-3 model viewmodel


    【解决方案1】:

    在主视图模型中嵌套“其他视图模型”。然后将表单的控件绑定到子模型的属性上。

    动作方法签名:

    [HttpPost]
    public ActionResult Foo(SubModel model) { /* ... */ }
    

    【讨论】:

      【解决方案2】:

      您可以使用自定义模型绑定器根据输出模型生成的表单绑定输入模型。 查看此链接了解更多信息:

      http://buildstarted.com/2010/09/12/custom-model-binders-in-mvc-3-with-imodelbinder/

      ASP.NET MVC 3 Model Binding Resources

      【讨论】:

        【解决方案3】:

        如果两个视图模型的属性或多或少相同,则默认模型绑定器将负责,否则您必须使用自定义模型绑定器。

        如果您必须使用要在发布时绑定的 ViewModel 属性的名称创建 html 字段,则其他选项。

        【讨论】:

          猜你喜欢
          • 2018-05-20
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-11-22
          • 1970-01-01
          • 2018-09-24
          • 2020-05-28
          • 2020-03-21
          相关资源
          最近更新 更多