다음과 같은 자바 스크립트 참조를 포함하고 싶습니다.
<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>