2011-12-10 4 views
0

에서 스크립트와 CSS를 포함하는 가장 좋은 방법은 최선을 다해 처리하는 방법을 알지 못하는 상황을 발견했습니다.면도날 엔진을 사용하여 Asp.Net MVC3 프로젝트에서 작동하는 MVC3 렌더링/partialview

@foreach (var item in Model.Items) { 
    Html.RenderAction("ActionName", new {param = item}); 
} 

나는 그것이 매우 일반적인 상황이라고 생각 : 뷰에서 , 나는 다음과 같은 상황이있다.

이제 제대로 렌더링하려면 HTML 부분에 몇 가지 javascript 파일이 필요하고 CSS도 필요하다고 가정 해 보겠습니다. 또한이 작업의 partialView는 다른보기에서도 한 번 이상 사용할 수 있어야합니다.

질문은 다음과 같습니다. 외부 js 및 CSS에 대한 참조를 넣을 수있는 가장 좋은 곳은 어디입니까? PartialView에서 말하고 싶지만 ... RenderAction을 n 번 호출하는 것을 피할 수 있나요? n 번 동일한 스크립트 선언을 페이지에 두지 않습니까? 또한 js와 css를 반복하는 문제가 해결되었다고합니다.이 외부 리소스를보기에 어떻게 바인딩해야합니까? 일반적으로 필자는 외부 리소스를 전용 섹션에 배치하여 성능상의 이유로 레이아웃 페이지를 페이지 맨 아래에 렌더링합니다. partialView를 사용하여 호출 한 뷰가 스크립트 섹션에 액세스한다고 가정하면 동일하게 처리해야합니까? 그러나이 방법으로 재사용 가능한 partialView의 디자인을 호스팅보기 구조에 바인딩합니다. 그렇다면 호스팅보기에서 스크립트와 CSS를 선언하면 안됩니까?

저는 MVC에 익숙하지 않아이 디자인 문제를 해결하기 위해 어떤 접근 방식을 사용하는지 알고 싶습니다.

답변

0

나는 보통 몇 페이지 또는 단지 하나의 CSS 또는 js 파일이 필요한지 알아 내려고합니다. 예를 들어 jQuery 파일을 layout.cshtml에 포함 시키면 프로젝트의 모든 단일보기가 기본 css 파일과 동일하게됩니다. 그리고 나서 특정 뷰에 대해서만 필요한 te 파일은 기본 뷰가 무엇이든 관계없이 그 뷰를 포함합니다. 물론 뷰의 모든 부분도 그 뷰에 포함됩니다. 부분에 참조를 넣고 여러 번 호출하면 여러 참조가 생깁니다. foreach 루프 바로 위의 참조를 넣을 수 있으며 모든 부분은 액세스 할 수 있습니다.

+0

루프가 작동하기 전에 참조를 넣으라는 제안이 있지만 디자인 문제가 발생한다고 생각합니다. 주 뷰는 부분 뷰가 잘 표시 되려면 무엇이 필요한지 알아야합니다. 아마 이것은 디자인 패턴의 관점에서 좋지 않을 것입니다 ... – themarcuz

+0

당신은 주된 관점을 의미합니까? 컨트롤러 또는 레이아웃보기에서 동작보기입니까? –

+0

나는 액션에 대한 뷰를 의미한다. – themarcuz

관련 문제