MVC 면도기 뷰를 사용하여 특정 방식으로 서식이 지정된 항목 목록을 출력하는 검색 결과 페이지가 있습니다.서버 측 면도기보기와 클라이언트 측 jQuery 템플릿간에 중복 서식을 방지하십시오.
@for (int i = 0; i < group.Count(); i++) {
<div class="result">
<div class="ordinal">@((i+1).ToString()).</div>
<div class="detail"><p>@group.ElementAt(i).Name</p></div>
</div>
}
클라이언트는 상기 원래의 장소에없는 결과를 렌더링 JSON 및 jQuery를 템플릿으로 새로운 데이터 세트를 가져 오지하는 jQuery를 AJAX를 사용하여 그 결과를 필터링 할 수있다. 이것은 jQuery를 템플릿입니다 :
var result = $("#resultTemplate").tmpl({ results: data });
$("#resultsColumn").empty().append(result);
주 I는 서버 측 면도기 코드와 클라이언트 - 모두에서 검색 결과에 대한 서식 HTML을 복제했다 방법 : AJAX 호출 후 바인딩
<script id="resultTemplate" type="text/x-jquery-tmpl">
{{each(i, result) results}}
<div class="result">
<div class="ordinal">${i+1}.</div>
<div class="detail"><p>${name}</p></div>
</div>
{{/each}}
</script>
사이드 jQuery 코드. 변경해야 할 때 불일치 가능성을 줄이기 위해 하나의 데이터 바인딩 템플릿 만 사용하고 싶습니다.
읽기 Stephen Walter's Intro to jQuery Templates 그가 ASP.NET MVC에서 jQuery 템플릿을 사용할 때 그는 "더 좋은"통합을 암시하고 있으므로 위 시나리오를 해결하는 기능이 있는지 궁금합니다.
감사합니다.
이것은 간단한 템플릿에서 작동해야하며 복잡한 템플릿의 경우에는 마음이 끌리지 않는다는 데 동의합니다. 사실 위의 예제는 단순한 예제입니다. Razor 및 jQuery 템플릿이 PHP 구문을 공유하는 경우 (PHP 군중을 괴롭히는 경우를 제외하고는 공통적 인 구문을 사용하는 것이 좋았을 것입니다.)보다 구체적인 언어 구문을 사용하기 시작할 때 한계에 부딪칩니다. – stefann