不确定这篇文章是否属于这里,请告诉我是否应该移动它。
我知道我们应该始终在页面底部调用js
个文件。
但是,我需要在我的一个视图中调用一个函数,其中该函数在单独的js
文件中定义,而该文件又依赖于jquery
。
很自然地,当我在视图中调用它时,jquery或函数都没有被声明。
@using Microsoft.AspNet.Identity
@using AuroraWeb.Resources
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>@Resources.ResourceManager.GetString("Title")</title>
@Styles.Render("~/Content/css")
</head>
<body>
@Html.Partial("_Navbar")
<div class="container-fluid body-content">
@RenderBody()
@Html.Partial("_Footer")
</div>
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/bootstrap")
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/myscripts")
@RenderSection("scripts", required: false)
@* google maps *@
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=MYKEY&callback=initMap&language=@UICulture"></script>
</body>
</html>
在这里,您可以看到我的脚本包都是在RenderBody()
之后调用的,这是我的视图出现的位置:
<script>
selectableGrid('@Url.Action("Details", "Lead")/');
</script>
在selectableGrid
中呈现的其中一个脚本中定义_Layout
的位置。显然这会抛出
ReferenceError:未定义selectableGrid
这里的正确方法是什么?我只需要将所有的javascript引用放在布局页面的顶部吗?
答案 0 :(得分:1)
为了在java -jar benchmarks.jar -lrf
Available formats: text, csv, scsv, json, latex
定义的占位符中呈现视图中的脚本,您需要将其添加到@RenderSection("scripts", required: false)
内(请注意,这可以放在任何位置,但通常位于视图的底部)
在@section scripts {
MyView.cshtml