复杂类型的子集的所有ID属性,这里是我的情况:如何更换在ASP.net使用jQuery MVC
我正在写一个ASP.net MVC 1点的网站,我有一个创建/编辑表单它使用默认模型绑定将表单解析为强类型的复杂对象。
我张贴的对象有另一个复杂类型的子集和格式化我的id为模型绑定的方式如下:
<div class="childContainer" >
<!-- There's one of these for each property for each child collection item -->
<%= Html.TextBox("ChildCollectionName[0].ChildPropertyName", /* blah blah */) %>
<%= Html.TextBox("ChildCollectionName[0].OtherChildPropertyName", /* blah blah */) %>
<!-- ... -->
</div>
这被渲染为
<div class="childContainer" >
<input id="ChildCollectionName[0]_ChildPropertyName" ... />
<input id="ChildCollectionName[0]_OtherChildPropertyName" ... />
...
</div>
<div class="childContainer" >
<input id="ChildCollectionName[1]_ChildPropertyName" ... />
<input id="ChildCollectionName[1]_OtherChildPropertyName" ... />
...
</div>
对于chlid集合中的每个条目。
这个集合是使用jQuery在表单中动态创建的,因此可以添加,删除条目等。只要集合上有操作,我需要更新索引以便在服务器端正确绑定。
什么是最好的方式来取代所有的HTML输入ID的时候我正在更新孩子的索引,例如,
替换全部[*] - > [N],其中N是正确的索引。
使用jQuery/JavaScript?
我现在编写了一些东西,但它的错误,我认为有一个更简单的解决方案。
此外,如果您有更简单的方法来识别子集合,我也会对此采取任何建议。
Thanx!
通常的CSS类名没有一个前导点。我甚至不确定这是合法的,有效的语法。另外,你还没有足够清楚地解释你想做什么。你在谈论ids(“我如何格式化我的id的方式如下..”)。但我没有看到任何ID。你是否指HTML文档中元素的id?我没有看到任何。也许你可以用更简单,更清晰的术语来重述这个问题。 – Cheeso 2010-03-19 21:27:37
您应该提供由Html.TextBox的调用生成的完整的HTML输出,假设它包含您希望捕获的DOM ID(并且假设此代码已迭代)。 – 2010-03-19 21:35:30
@Chesso css的名字是在我的情况(不复制粘贴)的错字 我添加了一个简化版本的html输出,我不能发布实际代码(专有),但这应该更好地了解什么我正在努力...... – TJB 2010-03-19 21:44:01