加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 缺少元素时的MVC/Razor模型绑定集合

发布时间:2020-12-16 03:52:51 所属栏目:asp.Net 来源:网络整理
导读:我有一个包含可变长度文本框列表的表单,使用类似于此的模板呈现. @Html.TextBox("items[" + itemIndex + "].Title",someValue) 所以最终呈现的HTML看起来像这样…… input id="items_0__Amount" type="text" value="Apple" name="items[0].Title"input id="i
我有一个包含可变长度文本框列表的表单,使用类似于此的模板呈现.

@Html.TextBox("items[" + itemIndex + "].Title",someValue)

所以最终呈现的HTML看起来像这样……

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title">
<input id="items_1__Amount" type="text" value="Banana" name="items[1].Title">
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title">

在表单提交上,这很好地绑定到我的模型.但是,我有一个删除按钮,使用Javascript从表单中删除一行或多行.问题是,如果你删除说中间行,HTML看起来像这样……

<input id="items_0__Amount" type="text" value="Apple" name="items[0].Title">
<input id="items_2__Amount" type="text" value="Orange" name="items[2].Title">

…而且索引不再是连续的.这似乎混淆了MVC和我的模型绑定器只传递了第一行,而不是最后一行.我做错了什么,或者如果列表中的索引不连续,MVC是否会失败?这个问题的最佳解决方案是什么?

我希望尽可能避免使用JS重新索引所有内容.

谢谢!

解决方法

菲尔·哈克(Phil Haack)在不久前发表过与此类似的内容,虽然我不确定它是否仍然与MVC 3相关.该帖子包含了针对非顺序索引问题的解决方法 –

http://haacked.com/archive/2008/10/23/model-binding-to-a-list.aspx

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读