[英]Two forms on one page, with a different model bound to each, using a ViewModel
[英]Two forms and one viewmodel
我在一页中有两种形式。 两者都有自己的属性和提交操作,但是在两种形式中都有一些共同的属性。
有没有一种方法可以使用一个视图模型来构建具有两个表单的视图,该视图模型可以共享视图中两个表单的属性?
实际上,我有重复的字段,并且必须使用jquery在两个字段中重复值的更改。
谢谢。
您可以使用HtmlPrefix来实现。
我已经创建了一个模型
public class TestModel { [Required] public int Id { get; set; } [Required] public string Name { get; set; } }
在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); }
<table> <tr> <td> @{Html.ViewData.TemplateInfo.HtmlFieldPrefix="A";} @{Html.RenderPartial("PartialA");} </td> <td> @{Html.ViewData.TemplateInfo.HtmlFieldPrefix="B";} @{Html.RenderPartial("PartialB");} </td> </tr> </table>
这两个部分视图完全相同,只是它们将数据发布到不同的操作(在控制器中定义)
现在,如果您运行项目,则应该获得适当的输出。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.