繁体   English   中英

两种形式和一种视图模型

[英]Two forms and one viewmodel

我在一页中有两种形式。 两者都有自己的属性和提交操作,但是在两种形式中都有一些共同的属性。

有没有一种方法可以使用一个视图模型来构建具有两个表单的视图,该视图模型可以共享视图中两个表单的属性?

实际上,我有重复的字段,并且必须使用jquery在两个字段中重复值的更改。

谢谢。

您可以使用HtmlPrefix来实现。

  1. 我已经创建了一个模型

     public class TestModel { [Required] public int Id { get; set; } [Required] public string Name { get; set; } } 
  2. 在Controller中,我们需要一个GetMethod,但是每种表单都有两个post方法,但是具有不同的BindPrefix

     public ActionResult TestLoad() { TestModel model = new TestModel(); return View(model); } public ActionResult TestA([Bind(Prefix = "A")]TestModel model) { return View("TestLoad",model); } public ActionResult TestB([Bind(Prefix="B")]TestModel model) { return View("TestLoad",model); } 
    1. 在视图中。 这里我们需要指定绑定前缀
     <table> <tr> <td> @{Html.ViewData.TemplateInfo.HtmlFieldPrefix="A";} @{Html.RenderPartial("PartialA");} </td> <td> @{Html.ViewData.TemplateInfo.HtmlFieldPrefix="B";} @{Html.RenderPartial("PartialB");} </td> </tr> </table> 
    1. 这两个部分视图完全相同,只是它们将数据发布到不同的操作(在控制器中定义)

    2. 现在,如果您运行项目,则应该获得适当的输出。

在此处输入图片说明

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM