所以我有一個複雜的收入聲明表單。幫助jquery ajax和asp.net模板mvc
它將爲IncomeDeclaration所涉及的每個活動顯示一個文本字段GrossIncome ...這一切都在服務器上完成並且工作得很好....問題在於。用戶還應該能夠通過javascript ...直接添加活動...所以當用戶點擊添加活動時,下拉菜單和文本框必須附加到活動列表的底部......繼承人到目前爲止我所得到的
<tbody id="activities">
@Html.EditorFor(model => model.income.EconomicActivityIncomeDeclarations)
</tbody>
</table>
<a href="#" id="add_activity">Agregar Otra Actividad</a>
</fieldset>
<script type="text/javascript">
$("#add_activity").click(function() {
$.getJSON('/IncomeDeclarations/GetEconomicActivities', function (data) {
var select = new Select();
var data = new Array();
for (var i = 0; i < data.length; i++) {
var option = new Option(data[i]["name"], data[i]["i"])
//should do something here
}
//should call the template and append to #activities
});
});
</script>
<script id="template" type="text/x-jquery-tmpl">
<tr>
<td><select name="income.EconomicActivityIncomeDeclarations[${SomeNumber}].EconomicActivityId">
${MyOptions}
</select></td>
<td><input type="text" name="income.EconomicActivityIncomeDeclarations[${SomeNumber}].GrossIncome" /></td>>
</tr>
</script>
}
兩個選擇和text_field name屬性是關鍵這個工作...否則modelbinding不會工作......我想,如果SomeNumber變量設置爲新Date.GetTime()模型應該結合工作得很好......
其實我沒有看到這樣做的必要性阿賈克斯但那是另一個話題..我只是還沒有想出一個辦法做到這一點沒有Ajax ... 現在我想得到模板e工作並將表單元素附加到列表的底部。
這看起來清爽多了......我會嘗試, – ignaciofuentes 2011-03-04 23:43:09
http://stackoverflow.com/questions/5201845/problem-with-asp-net-mvc-modelbinding-behavior – ignaciofuentes 2011-03-05 05:21:58