2008 년 중첩 마스터 페이지에서 JavaScript에 대한 상대적 참조를 포함하는 선호하는 방법

StackOverflow https://stackoverflow.com/questions/183859

문제

우리의 기본 마스터 페이지에는 다음과 같은 것이 있습니다

  <head runat="server">
   <title></title>

   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/actions.js")%>"></script>
   <script type="text/javascript" src="<%= Page.ResolveClientURL("~/javascript/jquery/jquery-1.2.6.min.js")%>"></script>
   <asp:contentplaceholder id="cph_htmlhead" runat="server">

   </asp:contentplaceholder>
  </head>

이 MasterPage가 ASPX 페이지의 Mas

이 MasterPage가 Child Masterpage의 Mas

''응용 프로그램의 서버 오류.

컨트롤에는 컨트롤에 코드 블록이 포함되어 있기 때문에 컨트롤 컬렉션을 수정할 수 없습니다 (예 : < % ... %>).

Tilde (~) 스타일 상대 경로를 보존하는 기본 마스터 페이지에 글로벌 리소스 (JavaScript/CSS)를 포함하는 선호하는 방법은 무엇입니까?

도움이 되었습니까?

해결책

ScriptManager 서버 컨트롤 사용 :

  <asp:ScriptManager ID="myScriptManager" runat="server">
    <Scripts>
      <asp:ScriptReference Path = "~/javascript/actions.js" /> 
      <asp:ScriptReference Path = "~/javascript/jquery/jquery-1.2.6.min.js" />
    </Scripts>
  </asp:ScriptManager>

다른 팁

시도 했습니까?

<script type="text/javascript" src='<%= Page.ResolveClientUrl("~/javascript/actions.js") %>'></script>

에 따라 스캇 구,

이용할 팁 중 하나는 Head Runat = "Server"컨트롤이 제공하는 상대 경로 수정 지원입니다. 마스터 페이지 내 에서이를 사용하여 전체 프로젝트에서 재사용되는 .CSS 스타일 시트를 쉽게 참조 할 수 있습니다 (프로젝트가 루트 참조인지 하위 응용 프로그램인지 여부에 관계없이).

헤드 컨트롤의 경로 고정 기능은 상대 .CSS 스타일 시트 경로를 취하고 루트 참조 웹 사이트인지 하위 응용 프로그램의 일부인지 여부에 관계없이 런타임시 스타일 시트의 절대 경로를 올바르게 출력합니다.

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