문제

우리가 상당히 복잡한 응용 프로그램에는 이전에 사용 WebForms.우리는 프로세스에서의 다시 작성의 비트는 그것을 처음부터를 사용하여 MVC.우리의 응용 프로그램의 구성의 숫자는 위젯,그 함께 응용 프로그램의 기능.

에 WebForms,우리가 사용 UserControls.각각의 정렬 등록 것 CSS and JavaScript 에 의하여 컬렉션에 저장되었 HttpContext.현재 있습니다.항목입니다.는 컬렉션은 다음을 병합하는 출력으로 하나의 요청을 합니다.일반적으로 이것에서 발생하 Page_Load 이벤트,그리고 포함하는 페이지는 다음을 렌더링하는 스크립트 태그를 것을 포함하는 모든 자바 스크립트와 CSS 위해 필요하지 않습니다.

우리는 어려움을 겪고 있었어에서 같은 일을 MVC.우리는 우리의 번호를 사용하여 전망 내에서 masterpage 를 모방하다.각각의 위젯은 자신의 컨트롤러므로 기능을 사용할 수 있습니다 충분히 분리되어 있다.Masterpage 쌓이는 위젯을 사용하여 페이지에 RenderAction 에서 MVC 선물.원래 우리가 사용하여 동일한 등록 방법에 대한 CSS/JS 파일이 있습니다.각 컨트롤러를 등록하도록 필요한 파일에서는 작업입니다.파일 다음에 포함될 수 있습니다 HttpContext.현재 있습니다.품 컬렉션을 것 렌더링되지 않습니다.이것을 촉진하기 위하여,내가 쓴 HtmlHelper 확장자를 렌더링하는 링크/스크립트도 있었습니다.그것은 다음과 같습니다:

<%= Html.GetRegisteredCssFiles() %>

문제는 MVC 사용하여 더 상위 아래로 접근 방식이다.이 호출은 태그,페이지의 그러나 우리의 후속 호출 RenderAction 일이다.시간 RenderAction 가 호출되고 필요한 파일에 등록되어 있 HttpContext.현재 있습니다.아이템,위의 코드는 이미 실행됩니다.그래서,컬렉션은 수정되지 않습니다.

을 수 있는 방법에 대한 아이디어는 우리가 해야할 건설 이?내가 찾는 것에 대한 답변을 통합한 모범 사례에 대한 MVC.

도움이 되었습니까?

해결책

이 질문을 요청했다 많은 시간 전에,그래서 당신은 아마 다이다.그러나 미래의 방문자를위한,아마 이 솔루션은 도움이 될 것입니다:http://marcinbudny.blogspot.com/2010/01/handling-stylesheet-references-in.html

다른 팁

무료 Telerik MVC 도구는 스크립트와 스타일을 등록 할 수있는 당신이 무엇을 원하는...

가 확실하지 않으면 이것이 가능한 솔루션을 위해,당신을 시도 하지만 움직이는 호출의 각 페이지 하단.

난 항상 포함되는 내 자바 스크립트와 css 에서 파일을 html 머리,그래서 내가 알지 못하는 경우 낮은 작동하다.에 포함되는 것으로 추정되는데 그것은 작업에서 대부분의 브라우저지만,당신이 있는 임의의 문제에서 몇 가지 있습니다.

하 GetRegisteredFiles()출력이 일부 자바 스크립트는 로드 CSS 파일에서 적절한 위치(via DOM 조작).

문제 중 하나 이러한 솔루션은 파일에 포함되지 않은 끝까지 일으킬 수 있는 페이지를 보는"일반"까지 CSS 다운로드할 수 있습니다.

또한,컨트롤러 예측할 수 있는""위젯을 얻을 것이드 및 패스는 데이터 페이지입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top