Мне нужно привязать модель данных из текстовых полей, динамически генерируемых на стороне клиента (используя плагин jQuery .tmpl), чтобы данные были доступны в моих контроллерах MVC3. Я нашел код для этого по следующей ссылке:
http://www.progware.org/Blog/post/ASPNET-MVC-Binding-to-Listse28093Enumerables-on-POST-with-JQuery.aspx
В этой статье обсуждается несколько подходов к рабочему исходному коду. Последний подход - это то, что я хочу, и это работает. Но, вероятно, он использует движок представления веб-форм (внутри блоков JavaScript) или только теги на стороне сервера. Я был бы признателен, если бы кто-нибудь помог мне заставить его работать с синтаксисом бритвы.
В частности, я надеялся получить синтаксис бритвы для следующего блока в коде:
<script type="text/javascript">
<%int idx=0;
foreach (var c in Model){
ViewData["key"]=idx; %>
$("#ClientTemplate").tmpl([{FirstName : "<%: c.FirstName %>",
LastName : "<%:c.LastName %>" ,
idx: <%:idx.ToString() %>}]).appendTo("#ExistingClients");
<% idx++;%>
<%} %>
</script>
<script type="text/javascript">
function removeClient(DivName) {$("#" + DivName).remove();}
var num = <%:Model.Count() %>;
$("#btnAddNewClient").click(function () {
$("#ClientTemplate").tmpl([{FirstName : "",
LastName : "" ,
idx: num}]).appendTo("#NewClients");
num++;
});
</script>