我想包含一个 javascript 参考,例如:
<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>
如果我有一个 Razor 视图,那么在不必将其添加到布局的情况下包含它的正确方法是什么(我只需要在单个特定视图中,而不是全部视图中)
在 aspx 中,我们可以使用内容占位符。我发现在 mvc 中使用 aspx 但不是 Razor 视图的较旧示例。
我想包含一个 javascript 参考,例如:
<script src="@Url.Content("~/Scripts/jqueryFoo.js")" type="text/javascript"></script>
如果我有一个 Razor 视图,那么在不必将其添加到布局的情况下包含它的正确方法是什么(我只需要在单个特定视图中,而不是全部视图中)
在 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>