2010-05-23 5 views
4

많은 부분 뷰와 JS 코드가있을 때 자바 스크립트 코드를 배치하는 것이 "우수 사례"입니까?ASP.NET MVC Partial Views (ASCX)의 자바 스크립트 코드인가요?

부분적인 뷰 변경이있을 때 많은 부분 뷰와 그 다음에 독립적 인 Javascript 파일을 유지하여 유지 보수 악몽을 만드는 것처럼 느껴집니다. 유지 보수를 위해 JS 코드를 부분 뷰와 함께 넣는 것이 나에게 더 좋습니다. 그런 다음 모든 JS 코드가 페이지 맨 아래에 있어야하며 혼합되어 있지 않아야하며 일반적으로 동일한 JS 파일에 대한 여러 참조로 끝나야한다는 일반적으로 받아 들여지는 방식을 위반합니다. Intellisense 목적을위한 각 ASCX).

누구에게 더 좋은 아이디어가 있습니까? 고맙습니다!

답변

0

HTML 페이지에 비헤이비어를 레이어하기 위해 단일 JS 및 눈에 잘 띄지 않는 자바 스크립트를 사용하십시오.

js를 집안에 던져 넣는 것은 방화 광산을 가지고 있어도 유지 관리의 악몽입니다.

코드를 유지하는 사람이 폭력적인 정신병자 인 것처럼 항상 프로그램하십시오. ;)

1

귀하가 귀하의 질문에 이미 언급 한 것보다 더 많은 "우수 사례"가 수립되어 있는지 나는 알 수 없습니다.

최근에 저는 Ajax와 UI js 지원이 많이 필요한 특정 "컨트롤"에 필요한 공통 js/jQuery 블록에 대한 HTML 도우미 접근 방식을 채택했습니다. 내 most recent case에서 나는이 "컨트롤"두 개를 가지고 있으며 각 스크립트 블록은 3 개가 필요했습니다.

이 도우미 배치가 어떻게이 같은 구문을 사용할 수 있습니다 여기서

<%-- // jQuery for Patron --%> 
    <% =Html.MattyJq().DivListItemSingleSelector("selectPatronItem", "div#matchingPatrons", 
     "patronsPrevSelectedID","PatronID") %> 
    <% =Html.MattyJq().EmptyTextInputHelper("patronSearch", "patronsFilterSendEmpty") %> 
    <% =Html.MattyJq().TextChangeDynamicUpdaterSelect("patronSearch","div#matchingPatrons", 
     "/patrons/getpatronsitems",500,"patronsFilterSendEmpty","patron", 
     "patronsPrevSelectedID","selectPatronItem") %> 

내 MVC이 "템플릿"폴더가 난 스크립트 블록을 배치하고 모든 표시 "/ 스크립트"폴더를 매개 변수로 헬퍼 (위)에 전달한 내 변수를 스와핑/정규식 할 수있는 이스케이프 시퀀스가있는 "변수".
이 방법을 사용하면 템플릿을 재사용 할 수 있으며 내보기는 훨씬 가볍고 깨끗합니다. 헬퍼에 공통 매개 변수가 있다는 것을 알게 될 것입니다. 예를 들어, 둘 이상의 스크립트 블록에 공통적 인 함수 이름 또는 var이 있습니다. 격리 된 스크립트 블록을 함께 "연결"하는 방식입니다.
마지막으로 나는 내가 선택한 경우 파서로 결과 js/jQuery를 "수행"할 수있게하는 도우미에 대한 공통 섹션을 가지고 있습니다. - 내 경우에는 릴리스 빌드에서 js를 축소하기 위해 .NET YUI Compressor을 사용합니다. 당신이 원한다면 모든 스크립트가 페이지의 맨 아래에 있도록하기 위해 여기에 로직을 추가 할 수 있습니다.

+0

이것은 내가하는 것과 비슷합니다. 신중한 기능 영역을위한 특정 js 파일을 가지고있는 경향이 있습니다. 그런 다음 릴리스 전에 실행되는 스크립트를 사용하여 파일을 축소하고 병합합니다. 배포에 다른 단계가 추가되지만 페이지의 요청 수를 최소한으로 유지하는 데 도움이됩니다. – ArtificialGold

관련 문제