【发布时间】:2012-09-13 21:02:21
【问题描述】:
ASP.NET MVC 的集合模型绑定需要 <input /> 名称属性中的方括号索引才能正确绑定集合模型,例如<input name="Lines[0].Name" /> 的操作如下:
public ActionResult Create(IEnumerable<MyInputModel> Lines) {
// ...
}
但是,对于某些 jQuery 插件,名称属性中的句点和方括号是 known issue,包括我正在使用的 Select2 列表选择器。
由于我不想破解 Select2,我如何告诉 ASP.NET MVC 使用句点或下划线而不是方括号来分隔集合索引,例如<input name="Lines.0.Name" />?
注意:我正在使用这个collection model binding technique 来生成非顺序的Guid 索引,所以我已经声明了一个自定义HtmlFieldPrefixScope。
更新:我通过破解 Select2 事件中的自定义滚动/调整大小事件名称解决了这个问题,这些事件将无效的 [ 或 ] 字符传递给 bind/unbind jQuery 方法。
【问题讨论】:
标签: jquery asp.net-mvc collections model-binding jquery-select2