【发布时间】:2011-03-05 05:14:36
【问题描述】:
我的表格很复杂
它允许用户创建一个有许多活动的收入声明。
当活动的标记如下时,这很好用:
<tr>
<td>SomeActivity
<input type="hidden" value="13123" name="EconomicActivityIncomeDeclarations[0].EconomicActivityId" id="EconomicActivityIncomeDeclarations_0__EconomicActivityId">
</td>
<td>
<input type="text" name="EconomicActivityIncomeDeclarations[0].GrossIncome" id="EconomicActivityIncomeDeclarations_0__GrossIncome" />
</td>
</tr>
<tr>
<td>SomeActivity
<input type="hidden" value="654654" name="EconomicActivityIncomeDeclarations[1].EconomicActivityId" id="EconomicActivityIncomeDeclarations_1__EconomicActivityId">
</td>
<td>
<input type="text" name="EconomicActivityIncomeDeclarations[1].GrossIncome" id="EconomicActivityIncomeDeclarations_1__GrossIncome" />
</td>
</tr>
问题是我正在通过 javascript 动态添加更多活动。它正在呈现像这样的新创建的表单元素
<tr>
<td>SomeActivity
<input type="hidden" value="987987" name="EconomicActivityIncomeDeclarations[1b117bc9-ce4b-46d5-9de0-77ba98b82fd0].EconomicActivityId" id="EconomicActivityIncomeDeclarations_1b117bc9-ce4b-46d5-9de0-77ba98b82fd0__EconomicActivityId">
</td>
<td>
<input type="text" name="EconomicActivityIncomeDeclarations[1b117bc9-ce4b-46d5-9de0-77ba98b82fd0].GrossIncome" id="EconomicActivityIncomeDeclarations_1b117bc9-ce4b-46d5-9de0-77ba98b82fd0__GrossIncome" />
</td>
</tr>
我得到的奇怪行为是,当前两个(或更多)具有常规格式 [0]、1... 等等,然后我(通过 ajax)实际上添加了更多表单元素 Post Action只将 ajax 元素绑定到 Model...
所以基本上一个包含所有 3 个活动的收入声明,我在这里用作示例,只会将第三个(带有随机字符)添加到收入声明中......
我知道这有点复杂,但如果有人知道为什么会发生这种行为,我将不胜感激......
顺便说一句,这是我使用的。 http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/
【问题讨论】:
标签: asp.net-mvc models modelbinders