asp.net-mvc-3 – 在同一父视图上多次使用一个部分视图
发布时间:2020-07-31 13:46:16 所属栏目:asp.Net 来源:互联网
导读:我正在使用MVC3剃须刀.我有一个场景,我必须在同一父视图上多次使用局部视图.我遇到的问题是,当父视图被渲染时,它会在这些部分视图中生成相同的名称和输入控件的ID.由于我的部分视图被绑定到不同的模型,当视图回发到“保存”时它崩溃了.任何想法我如何使控件ID
我正在使用MVC3剃须刀.我有一个场景,我必须在同一父视图上多次使用局部视图.我遇到的问题是,当父视图被渲染时,它会在这些部分视图中生成相同的名称和输入控件的ID.由于我的部分视图被绑定到不同的模型,当视图回发到“保存”时它崩溃了.任何想法我如何使控件ID /名称唯一,可能有些人如何前缀? 等待 纳比勒 解决方法我个人更喜欢使用编辑器模板,因为他们会照顾这个.例如,您可以使用以下视图模型:public class MyViewModel { public ChildViewModel Child1 { get; set; } public ChildViewModel Child2 { get; set; } } public class ChildViewModel { public string Foo { get; set; } } 和以下控制器: public class HomeController : Controller { public ActionResult Index() { var model = new MyViewModel { Child1 = new ChildViewModel(),Child2 = new ChildViewModel(),}; return View(model); } [HttpPost] public ActionResult Index(MyViewModel model) { return View(model); } } 并在Index.cshtml视图中: @model MyViewModel @using (Html.BeginForm()) { <h3>Child1</h3> @Html.EditorFor(x => x.Child1) <h3>Child2</h3> @Html.EditorFor(x => x.Child2) <input type="submit" value="OK" /> } 最后一部分是编辑器模板(/ Views / Home / EditorTemplates / ChildViewModel.cshtml): @model ChildViewModel @Html.LabelFor(x => x.Foo) @Html.EditorFor(x => x.Foo) 使用EditorFor您可以包含主视图模型的不同属性的模板,并生成正确的名称/ ID.除此之外,您还可以在POST操作中正确填充视图模型. (编辑:鄂州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 使用C#读取dbf行情文件
- asp.net-mvc – mvc razor @helper可以返回非编码标签吗?
- asp.net – MS Chart控件创建的临时文件应该放在哪里?
- asp.net – 增加IIS7 / Win7 Pro上的最大上传文件大小
- ASP.NET MVC是否使Web表单成为旧版平台?
- ASP.NET Web应用程序的安装
- asp.net-mvc – 为什么DropDownListFor会在提交后丢失多个选
- asp.net web.config加密解密方法
- asp.net中让Repeater和GridView支持DataPager分页
- asp.net-mvc – 使用ASP.NET MVC进行项目组织的最佳实践
推荐文章
站长推荐
热点阅读