내 MVC3 컨트롤러에서 데이터에 액세스 할 수 있도록 클라이언트 측에서 동적으로 생성 된 텍스트 상자의 데이터를 모델 바인딩해야합니다 (jQuery .tmpl 플러그인 사용). 나는 다음 링크에서 이에 대한 코드를 발견jQuery에서 생성 된 동적 텍스트 상자의 모델 바인딩을위한 면도기 문법으로의 변환
이 문서는 소스 코드를 작업 alongwith 몇 가지 방법에 대해 설명합니다. 마지막 접근 방식은 내가 원하는 것이고 작동합니다. 하지만 아마 webforms 뷰 엔진 (JavaScript 블록 내부) 또는 서버 측 태그 만 사용하고있을 것입니다. 누군가가 면도기 구문으로 작업하도록 도와 주시면 감사하겠습니다.
<script type="text/javascript">
@{
int idx = 0;
foreach (var c in Model)
{
ViewData["key"] = idx;
<text>
$("#ClientTemplate").tmpl([{FirstName : "@c.FirstName",
LastName: "@c.LastName" ,
idx: @idx.ToString()}]).appendTo("#ExistingClients");
</text>
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>
나는 일시적으로 제거하는 것을 발견 :
이 같은<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>