asp.net-mvc – MVC中的绑定集合
发布时间:2020-12-16 06:44:50 所属栏目:asp.Net 来源:网络整理
导读:我有一个View Model,它由Applicant对象和TeamMember集合组成.当我发布模型时,Team集合始终为null.我已经尝试将我的原始IEnumarable中的集合更改为List但这并没有什么区别.所以我更改了控制器编辑操作以接受FormCollection,并验证了viewModel [“member.First
我有一个View Model,它由Applicant对象和TeamMember集合组成.当我发布模型时,Team集合始终为null.我已经尝试将我的原始IEnumarable中的集合更改为List但这并没有什么区别.所以我更改了控制器编辑操作以接受FormCollection,并验证了viewModel [“member.FirstName”]中有数据.我迷失了为什么绑定不起作用.我试图尽可能地清理我的代码示例,但我对我所缺少的内容感到困惑.任何帮助是极大的赞赏!
查看模型属性 public class MyViewModel { public Applicant ApplicantInfo { get; set; } public List<TeamMember> TeamMembers { get; set; } } 调节器 [HttpPost] public ActionResult Edit(MyViewModel viewModel) { // viewModel.ApplicantInfo has the form data // viewModel.TeamMembers = null } 视图 <% using (Html.BeginForm()) {%> <h3> <a href="#">Applicant Information</a> </h3> <label> City <%: Html.TextBoxFor(m => Model.ApplicantInfo.City)%> </label> <label> State <%: Html.TextBoxFor(m => Model.ApplicantInfo.State)%> </label> <h3> <a href="#">Team</a> </h3> <div> <% foreach (var member in Model.TeamMembers) { %> <div class="editor-field"> <%: Html.DropDownList("member.Type",Model.GetMemberTypes(member.MemberType.TypeId))%> </div> <div class="editor-field"> <%: Html.EditorFor(m => member.FirstName)%> </div> <div class="editor-field"> <%: Html.EditorFor(m => member.LastName)%> </div> <div class="editor-field"> <%: Html.EditorFor(m => member.Title)%> </div> <%} %> </div> <p> <input type="submit" value="Save" /> </p> <% } %> 解决方法
我相信与集合中的项相关联的输入标记(当模型本身不是集合??时)需要在name属性中具有索引,然后才能将发布的数据绑定到视图模型.这是我通常做到这一点的方式……
<% for (int i=0; i<Model.TeamMembers.Count; i++) { %> <div class="editor-field"> <%: Html.EditorFor(m => m.TeamMembers[i].FirstName)%> </div> <div class="editor-field"> <%: Html.EditorFor(m => m.TeamMembers[i].LastName)%> </div> <% } %> 我也使用了Shea建议的模板,但我有更多的代码试图强制它渲染括号/索引. <% foreach (var member in Model.TeamMembers) { %> <%: Html.EditorFor(x => member,"TeamMember","TeamMembers["+(member.Number-1)+"]",new { MemberTypes = Model.GetMemberTypes(member.MemberType.TypeId) })%> <% } %> 这是来自Phil Haack关于这个主题的old but still relevant article. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- IIS虚拟目录和ASP.NET目录路径
- asp.net-mvc-2 – 如何在ASP.NET MVC中实现自定义主体和标识
- ASP.NET会话状态/ NInject / OnePerRequest行为的问题
- asp.net-mvc-3 – 如何在WebGrid中隐藏列?
- ASP.NET Core 2.0和Angular 4.3文件上传进度
- asp.net – 太多的Cookie OpenIdConnect.nonce导致错误页面
- 多线程异步编程示例和实践-Thread和ThreadPool
- asp.net-mvc – 如何从ValidationAttribute中获取模型元数据
- asp.net-mvc – Cookie不会被删除
- asp.net – 如何维护具有大量分支的SQL Server DB
推荐文章
站长推荐
- asp.net-mvc – ASP.NET MVC – 从视图部分更新模
- asp.net-mvc – 为什么HttpContext不是从HttpCon
- asp.net-mvc-4 – 如何从ApiController访问HttpC
- 采用IEnumerable与模型的Razor View之间的区别?
- 如何获取asp.net c#的文章数据
- asp.net – jQuery AJAX在Firefox中速度慢,在IE中
- asp.net – Azure网站上脚本/样式的长时间等待(T
- 十分钟搭建自己的私有NuGet服务器-BaGet
- asp.net – 使用基于令牌的身份验证时,Web API 2
- asp.net-mvc-3 – 有没有办法使用字符串键访问.N
热点阅读