ASP.NET MVC 3 면도기 : head 태그에 JavaScript 파일 포함


230

특정 * .cshtml에 대한 JavaScript 파일을 _Layout.cshtml에 정의 된 다른 모든 포함 파일과 함께 헤드 태그에 포함시키기위한 적절한 Razor 구문을 알아 내려고합니다.


7
또한 헤드 섹션 대신 페이지 하단에 js를 배치하는 것도 고려해야합니다.
Mattias Jakobsson

샘플 코드에서 찾은 문제는 @section "JavaScript"를 따옴표로 묶을 필요가 없다는 것입니다.
Stephen Patten

2
한 가지 더 : 이것이 JavaScript 태그 인 경우 사용법에주의하십시오. 올바르게 실행하려면 스크립트 요소의 END 태그를 사용해야했습니다. <script type = "text / javascript"src = "@ Url.Content ("~ / Scripts / RDA.js ")"> </ script>;
Stephen Patten

@ Matias Jakobsson-항상 그런 것은 아닙니다. 특정 사례에 따라 다릅니다.
Dimskiy

@Dimskiy 당신이 단어 파서와 pedant가되도록 허용한다면 실제로 실제로 배치했는지 여부에 관계없이 항상 js를 맨 아래에 두는 것을 고려해야합니다.
MrBoJangles

답변:


398

명명 된 섹션을 사용할 수 있습니다 .

_Layout.cshtml

<head>
    <script type="text/javascript" src="@Url.Content("/Scripts/jquery-1.6.2.min.js")"></script>
    @RenderSection("JavaScript", required: false)
</head>

_SomeView.cshtml

@section JavaScript
{
   <script type="text/javascript" src="@Url.Content("/Scripts/SomeScript.js")"></script>
   <script type="text/javascript" src="@Url.Content("/Scripts/AnotherScript.js")"></script>
}

1
예, WebPageBase를보고 있었고 이것이 대답 일지 모른다고 생각했지만 적절한 구문을 알지 못했습니다. MVC 3에 대한 참조 안내서를 추천 할 수 있습니까? 안부 ..
스티븐 패튼

8
하아! MVC 3과 Razor 구문에 대한 참조 안내서가 있었으면 좋겠다. Gu의 블로그에서 위의 내용을 얻었습니다. MVC 3에 대한 최상의 참조는 아마도 릴리스 노트 일 것입니다.
RPM1984

아, 그리고 좋은 팁은 태그에 대한 닫기 태그를 사용하는 것입니다 <script>-아직 JS로 명명 된 섹션을 시도하지 않았습니다. 이제 나 (그리고 다른 사람들)는 알 것이다
RPM1984

4
참고 : 자바 스크립트는 </body>head 태그 대신 태그 바로 앞에 렌더링되어야합니다 . 이것은 브라우저에 의한 병렬 다운로드를 막지 않습니다. 12.01의 developer.yahoo.com/performance/rules.html
Peter

4
@Peter-예, 알고 있습니다.하지만 단순히 답변 (JS 헤드 태그)을 해결하고있었습니다.
RPM1984
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.