asp.net-mvc – MVC3 ModelBinding回收了一个带有索引间隙的集合
发布时间:2020-12-16 07:39:27 所属栏目:asp.Net 来源:网络整理
导读:我在我的模型上有一组对象,我使用EditFor函数在View中渲染,我有一个EditorTemplate,负责实际渲染每个对象. @Html.EditorFor(model = model.MyObjects) 这已经运行了一段时间了,当你检查html时,我的文本框以model属性为前缀,后面跟着它们来自的集合的索引. in
我在我的模型上有一组对象,我使用EditFor函数在View中渲染,我有一个EditorTemplate,负责实际渲染每个对象.
@Html.EditorFor(model => model.MyObjects) 这已经运行了一段时间了,当你检查html时,我的文本框以model属性为前缀,后面跟着它们来自的集合的索引. <input class="text-box single-line" id="MyObjects_2__SomeProperty" name="MyObjects[2].SomeProperty" type="Text" value="" /> 但是我最近开始在集合的模型元数据中使用ShowForEdit和ShowForDisplay属性,如果ShowForEdit不是真的,在我的编辑器模板的第一行,我只是跳过它. @if (!ViewData.ModelMetadata.ShowForEdit) { return; } 但由于这些都是在html中编入索引,当我尝试通过回发将此集合保存回viewmodel时,由于依赖于索引编号而失败.当我检查它的值时,我的视图模型中缺少缺少索引后的集合中的每个项目. 在这种情况下,它实际上是我正在跳过的集合中的第一个项目,因为我不希望它在编辑视图中可见,但是因为当我回发html中的第一个索引是1(而不是0)像往常一样),但是当你尝试保存更改时这是一个问题.使用javascript更改DOM时,这也是一个问题. 当html表示集合中的一个或多个索引不存在时,有没有其他人遇到默认模型绑定器读取回发数据的能力? 是否有模型粘合剂来处理这个问题? 解决方法
有一些非常好的博客文章允许您模型绑定到列表,而无需提供基于零的连续索引.请看看
http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/ http://zahidadeel.blogspot.com/2011/05/master-detail-form-in-aspnet-mvc-3-ii.html 此外,如果你对MVVM模式和淘汰赛感兴趣,你可以在 steve sanderson之前检查这项伟大的工作 如需更多阅读,请在google中添加“编辑varibale长度列表mvc样式”,它将为您提供十几个有用的链接 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net – ‘WebForm_DoPostBackWithOptions’在IE11预览中
- asp.net – 回滚请求身体流
- asp.net-mvc – ASP.NET MVC:路由到URL
- 具有Winforms,WPF和ASP.NET自由许可的开源控制库
- asp.net-mvc – 在asp.net MVC 3中授权登录URL
- asp.net – 抛出类型“System.OutOfMemoryException”的异常
- asp.net – 当用户使表单失效时,如何点击取消按钮时,如何清
- asp.net-mvc – ASP.NET MVC – 将表单发布到html书签?
- asp.net-mvc – 在ajax请求中返回PDF
- asp.net-mvc – 跨应用程序进行表单身份验证的ServiceStack
推荐文章
站长推荐
- Asp.net:代表(“Action”)可以序列化为控制状态
- asp.net-mvc – 如何在Visual Studio 2017中构建
- asp.net – MVC3何时使用区域?
- asp.net-mvc – ASP.NET MVC中的通用基本控制器错
- asp.net-mvc – ajax链接被误处理
- asp.net – 在.NET中以编程方式添加HttpHandler的
- asp.net-mvc – MVC EF4 POCO – 如何存储实体上
- ASP.NET Core macOS 环境配置 - ASP.NET Core 基
- asp.net – IE bug无效源HTML5音频 – 解决方法
- asp.net – 如何阅读maxAllowedContentLength
热点阅读