2008-10-29 3 views
0

내가 문제를 좁혀 것 같아 나는이 원래의 질문을 편집했습니다 ...

내가 나를 못하게 내 사이트에서 1 개 개의보기가 .ready $ document.ready를 masterpage contentplaceholder에 넣으십시오. 나는 맨손으로 뼈가이 사용자 정의 경로가 제대로 작동 document.ready $를 중단하는 이유는 Global.asax에

routes.MapRoute("Books", 
       "{controller}/{action}/{keywords}/{pageNumber}", 
        new { controller = "Books", action = "SearchResults" } 
       ); 

어떤 생각에서 사용자 지정 경로를 가지고 있습니다에 대한 특별 유일한 것은이 페이지를 제거했습니다 masterpages 콘텐츠 보유자 존에 넣을 때?

답변

5

동일한 문제가 있었는데 특정 경로를 사용했을 때 .js 파일의 ../../Content 링크와 같은 사이트의 인식 된 파일 계층 구조가 변경되지 않았다는 것이 밝혀졌습니다 더. 내 jquery 스크립트 참조를 다음과 같이 변경하여 문제를 해결했습니다.

+0

동일한 문제가 발생하여 JS에 대한 모든 참조에 대해 "/ Content/..."를 사용하는 습관을 갖게되었습니다. 및 CSS 파일 ... 이렇게하면 경로를 업데이트 할 때 걱정할 필요가 없습니다. –

2

마스터 페이지 (마스터 페이지를 사용하지 않는 경우보기 페이지)는 jquery를 참조해야합니다. 이것은 MVC 프레임 워크의 최신 베타 릴리스에 포함되어 있습니다.

페이지의 태그에 jQuery가 포함되어 있는지 확인하십시오.

검사뿐만 아니라 구문 ...

$(document).ready(function() { alert('loaded'); }); 

이 단축 버전도 작동 :

$().ready(function() { alert('loaded'); }); 
$(function() { alert('loaded'); }); 
1

은 그냥 <script ...> 태그보기 페이지의 콘텐츠 컨트롤 내 어딘가에 스틱. 당신은 모든 페이지에서 실행되는 물건이있는 경우

<asp:Content ID="Content1" ContentPlaceHolderID="MainContentPlaceHolder" runat="server"> 
    <div class="contentItem"> 
     <%!-- yadda --%> 
    </div> 

    <script type="text/javascript"> 
     $(document).ready(function() { 
     // do your worst 
     }); 
    </script> 
</asp:Content> 

, 당신은 .js 파일로 그것을 벗겨 마스터 페이지에서 액세스 할 수 있습니다. 그러나 특정보기와 관련된 기능의 경우이 방법이 가장 쉽고 간편하게 유지 관리 할 수 ​​있습니다.