【问题标题】:How to insert scripts in an asp.net mvc c# project如何在 asp.net mvc c# 项目中插入脚本
【发布时间】:2019-01-29 13:30:18
【问题描述】:
当我创建一个默认的 mvc asp.net c# 项目时,在 body 标记内的 _layout.cshtml 上有 Render.Body() 并且在 body 关闭之前有 jquery 和 bootstrap 的脚本包。当我尝试在我的视图中编写脚本时,它说没有定义 jQuery。这很明显,因为脚本包在 Render.Body() 之后被调用。所以我在问这个愚蠢的问题。将 bundle 移到 Render.Body() 上方有错吗?
【问题讨论】:
标签:
c#
jquery
asp.net
asp.net-mvc
【解决方案1】:
您需要在_Layout 文件中添加一个“部分”,然后视图才能注入其中。这将确保脚本在 jquery 可用之后运行。
试试这个:
布局
在 jquery(和其他)脚本下添加:
@RenderSection("Scripts", required: false)
观看次数
然后在您想要添加一些脚本的任何视图中执行以下操作:
@section scripts {
<script>
//do stuff here
</script>
}
【解决方案2】:
如果您的依赖脚本(例如 jQuery)是在需要它们的之后加载的,您需要将它们移到上面。按照您的建议,您可以通过将 jQuery 包移动到主体上方来执行此操作,或者根据应用程序的结构,包括脚本包开头的 jQuery。
可能有其他方法可以解决这个问题,但我没有使用它们。将脚本放在正文上方并没有“错误”,与其他选项相比,它具有不同的优点和缺点。