[英]Why do i have to include JS files in order to work with jquery in every single view?
正如问题所说的那样,但是为了给你提供更多信息,我在我的Asp.NET Mvc应用程序中包含了所有.js
文件,如下所示:
<script src="~/Scripts/jquery-1.10.2.js"></script>
即使我必须在每个页面中包含.js
文件,以便能够使用jQuery,否则它不起作用。 我试图将这些脚本文件包含在BundleConfig
令人惊讶的是脚本甚至在布局页面上都没有工作。 有什么诀窍?!
通常,您的项目中有一个App_Start / BundleConfig.cs
public class BundleConfig
{
public static readonly string SiteJquery1Bundle = "~/bundles/jquery1";
public static readonly string SiteJquery2Bundle = "~/bundles/jquery2";
public static void RegisterBundles(BundleCollection bundles)
{
// We will choose bundle to render depending on IE version in view
bundles.Add(new Bundle(SiteJquery1Bundle)
.Include("~/Scripts/jquery-1.10.2.js"));
bundles.Add(new Bundle(SiteJquery2Bundle)
.Include("~/Scripts/jquery-2.1.3.min.js"));
}
在您的Shared / _Layout.cshtml视图中添加:
<html>
<head>
<title>...</title>
<!--[if lt IE 9]>
@Scripts.Render(BundleConfig.SiteJquery1Bundle)
<![endif]-->
<!--[if gte IE 9]><!-->
@Scripts.Render(BundleConfig.SiteJquery2Bundle)
<!--<![endif]-->
...
</head>
因此,默认的ASP.NET MVC项目添加了_ViewStart.cshtml,它定义了每个视图中的单个布局。 并检查Global.asax.cs中的包注册
protected void Application_Start()
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
// ...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.