Akh*_*hil 7 asp.net-mvc jquery asp.net-mvc-4
我从第一个MVC应用程序开始.在这里,我有基本的困惑.实际上,默认的_Layout.cshtml文件创建如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
</head>
<body>
<script>
</script>
@RenderBody()
@Scripts.Render("~/bundles/jquery")
@RenderSection("scripts", required: false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我使用了基本模板,因此没有任何模板.但请检查'@ Scripts.Render("〜/ bundles/jquery")'行.它在@RenderBody()之后.所以它实际上是在身体部分之后添加的.
我认为这实际上是最好的做法.但如果我添加$.(文档).ready它会显示以下错误
Microsoft JScript运行时错误:'$'未定义
基于错误,它因脚本标记而异.我刚刚在@Render身体和最后一页之前移动了@@ Scripts.Render("〜/ bundles/jquery")'行
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width" />
<title>@ViewBag.Title</title>
@Styles.Render("~/Content/css")
@Scripts.Render("~/bundles/modernizr")
@Scripts.Render("~/bundles/jquery")
</head>
<body>
<script>
</script>
@RenderBody()
@RenderSection("scripts", required: false)
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
applicationw适用于我的jquery.
那么为什么会这样呢?所以在@RenderBody之前总是需要添加标签的脚本吗?那为什么默认模板显示在错误的位置?
Ufu*_*arı 15
这可能是因为您在页面中的jQuery引用之前添加脚本.您需要scripts在视图的部分内编写脚本:
@section scripts {
//stuff
}
Run Code Online (Sandbox Code Playgroud)
这将确保它将在jQuery引用(RenderSection调用)之后呈现.
| 归档时间: |
|
| 查看次数: |
12866 次 |
| 最近记录: |