현재 자바 스크립트 파일을 필요할 때만로드하는 좋은 방법을 찾으려고합니다. 이를 위해 faceboxlinks, datepickerfields, tinymcefields 및 외부 js 및 초기화 jquery 표현식이 필요한 기타 스크립트에 대한 여러 HtmlHelpers를 만들었습니다. 이 헬퍼에서 jQuery의 getScript()
을 사용하여 스크립트를 실행하고 콜백 함수를 사용하여 스크립트를 초기화합니다.ViewData를 사용하여 페이지 당로드 된 스크립트를 추적하십시오.
이제 내 문제가 발생합니다. 필자의 초기 생각은 List of Strings에서이 스크립트를 추적하여 htmlHelper.ViewData에 넣는 것입니다. 그러나 불행히도 이것은 실패합니다. 어떤 이유로이 뷰 데이터는 부분 뷰 또는 이와 유사한 것으로 전달되지 않습니다. 목록을 유지하지 않습니다 ..
헬퍼의 ViewDataDictionary 대신 전역으로 내 문자열 목록을 유지할 수있는 또 다른 곳이 있습니까? 아니면 잘못된 방식으로이 ViewData를 사용하고 있습니까? 몇 가지 이유? 설명이나 도움이 매우 감사하겠습니다!
감사합니다. HttpContext.Current.Items를 사용하면 트릭을 만들 수 있습니다. 지금은 내 문제를 해결합니다. 이런 상황에서 전역 변수에 의존하는 단점은 무엇일까? 저는 사용하는 모든 뷰에서 스크립트를 정의하고 초기화해야한다는 생각에 열중하지 않습니다. – Leon
전역 변수를 사용하면 아키텍처 제약 조건을 건너 뛰므로 이론적으로 그러한 코드를 지원하는 것이 더 어렵습니다. 한 번에 모든 스크립트를 초기화 할 필요는 없지만 필요에 따라 지금 수행 할 수 있지만 초기화 코드를 컨테이너의 관련 자리 표시 자에 추가 한 다음 마스터 페이지에 추가합니다. 이렇게하면 마스터 페이지가보기에 대해 "알지 않아도"됩니다. –
나는 그것을 지워 줘서 고마워. :) – Leon