저는 DateTime, Colors 등과 같은 것들을 위해 EditorTemplates를 사용하고 있습니다. 이들 템플릿의 상당 부분을 포함하고있는 내 양식은 주로 Ajax를 통해 부분 뷰로로드됩니다.ASP.NET MVC3 EditorTemplates는 jQuery를 복제하지 않고 Ajax를 통해로드됩니까?
jQuery 초기화 스크립트를 각 편집기 템플릿의 맨 아래에 두는 대신 응답마다 한 번만 수행하는 개념적인 방법이 있습니까? 한 날짜에 10 개의 날짜 선택기가 있다고 가정 해 보겠습니다. 동일한 초기화 코드를 10 번 전달하는 것은 정말 어리석은 일입니다.
날짜 선택기가 10 개인 기본 폼에 초기화 스크립트를 배치하는 것이 효율적입니다 (물론 datetime 편집기 템플릿에 코드를 격리하는 것은 그리 어렵지는 않지만). 하나의 날짜 선택 도구를 다른 양식 또는 2 ~ 3 개로 만들면 코드의 여러보기에서 해당 스크립트를 복제 할 수 있습니다.
그렇다면 여기 어떻게 편집기 템플릿을 올바르게 활용할 수 있습니까? 나는 내가 좋아하는 뭔가를 찾고 있어요 생각 -
EnsureThisScriptIsOutputOncePerThisResponse(<script>$('.datepicker').datepicker("insert lengthy config here");</script>)
이 AJAX를 통해 렌더링 부분 뷰와 함께 작동 에디터 템플릿의 맨 아래에 추가 할 수 있습니다.
감사합니다. 그런 다음 ajax를 통해 렌더링 된 것을 가져 와서 initializebuttons를 다시 호출해야합니다. 뷰의 맨 아래에? – psy
nope ...'$ (document) .ready (initializeButtons) .ajaxSuccess (initializeButtons)'는 문서 준비 및 ** ajax 성공시'initializeButtons'를 호출합니다. –
흥미 롭습니다. 나는 이것을 좋아한다. 초기 응답 전에 모든 것을 .js 파일로 이동하는 경로를 시작한 다음 각 부분 뷰의 끝에서 함수를 호출하여 선택기에서 항목을 초기화했습니다. 각 Ajax 호출 후에이 함수를 호출 할 때 성능 문제가 있습니까 (다른 유형의 편집기/UI 개체에 대해서는 잠재적으로 10 가지)? – psy