I have a razor
layout and it loads css jquery etc.
When I add controller action view I set layout to be _Layout.cshtml
But jquery doesn't work in that page.
So I have to add @Scripts.Render("~/bundles/jquery")
in each view.
Why imported jquery is not inherited from _Layout.cshtml
? Is it normal?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
This should be near the bottom of _Layout.cshtml:
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
This should be in your child view:
@section scripts {
@Scripts.Render("~/scripts/jquery.infinitescroll.js") // Or some other script
}
All your scripts (that reference jquery) in your child views need to be in the scripts section, not placed in the body of the page. That includes any script tags that want to make use of jquery as well. For example, one of my pages has the following:
@section scripts {
@Scripts.Render("https://maps.googleapis.com/maps/api/js?key=&sensor=false")
<script src="~/scripts/google-maps-3-vs-1-0.js"></script>
<script>
Stuff here
</script>
}