我刚刚创建了一个ASP.NET MVC 4 WebAPI项目。
在查看默认的_Layout.cshtml时,我看到jquery脚本在body被渲染之后被插入(不在头部)。
<!DOCTYPE html> <html> <head> <Meta charset="utf-8" /> <Meta name="viewport" content="width=device-width" /> <title>@ViewBag.Title</title> @Styles.Render("~/Content/themes/base/css","~/Content/css") @Scripts.Render("~/bundles/modernizr") </head> <body> @RenderBody() @Scripts.Render("~/bundles/jquery") @RenderSection("scripts",required: false) </body> </html>
这会导致错误
$ is not defined
当然,试图写
$(document).ready(function() {...}).
移动
@Scripts.Render("~/bundles/jquery")
进入_Layout.cshtml的头部分会纠正问题,jquery按预期工作。
这是怎么回事?我做错了,还有一个原因是_Layout.cshtml中Script.Render的默认位置?