[asp.net-mvc] 레이아웃을 사용할 때보기 내에 스크립트 src를 추가하는 방법

다음과 같은 자바 스크립트 참조를 포함하고 싶습니다.

<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>

Razor View가있는 경우 레이아웃에 추가하지 않고이를 포함하는 적절한 방법은 무엇입니까? (모두가 아닌 단일 특정보기에서만 필요합니다)

aspx에서는 콘텐츠 자리 표시자를 사용할 수 있습니다. mvc에서는 aspx를 사용하지만 Razor보기에서는 사용하지 않는 이전 예제를 찾았습니다.



답변

당신이 (당신이 스크립트를 원 특정 위치이 있다면) 당신이 구현할 수를 구현하는 방법을 따라 @section내에서 _Layout여전히 구조를 유지하면서, 뷰 자체에서 추가 스크립트를 추가 할 수 있도록합니다. 예 :

_나열한 것

<!DOCTYPE html>
<html>
  <head>
    <title>...</title>
    <script src="@Url.Content("~/Scripts/jquery.min.js")"></script>
    @RenderSection("Scripts",false/*required*/)
  </head>
  <body>
    @RenderBody()
  </body>
</html>

전망

@model MyNamespace.ViewModels.WhateverViewModel
@section Scripts
{
  <script src="@Url.Content("~/Scripts/jqueryFoo.js")"></script>
}

그렇지 않으면 당신이 가진 것은 괜찮습니다. 출력 된 뷰와 “인라인”되어도 괜찮다면 뷰 <script>내에 선언을 배치 할 수 있습니다.


답변

Razor보기 엔진을 사용하는 경우 _Layout.cshtml 파일을 편집합니다. 바닥 글에있는 @ Scripts.Render ( “~ / bundles / jquery”)를 헤더 섹션으로 이동하고 원하는대로 javascript / jquery 코드를 작성합니다.

@Scripts.Render("~/bundles/jquery")
<script type="text/javascript">
    $(document).ready(function () {
        var divLength = $('div').length;
        alert(divLength);
    });
</script>


답변

아래와 같이 클라이언트 측 유효성 검사를 수행하면서 asp.net에서 사용하는 방식과 같은 스크립트 태그를 추가 할 수 있습니다.

@{
    ViewBag.Title = "Index";
}

<h2>Index</h2>
<script type="text/javascript" src="~/Scripts/jquery-3.1.1.min.js"></script>
<script type="text/javascript">
    $(function () {
       //Your code
    });
</script>


답변