2016-04-17 27 views
1

由于这个问题说,有关它的一切,但给你我所有包含在我的Asp.NET MVC应用程序的.js文件,如下面一点点的更多信息:为什么我必须包含JS文件才能在每个视图中使用jquery?

<script src="~/Scripts/jquery-1.10.2.js"></script> 

即使是我必须包括在每一个.js文件单个页面以便能够使用jQuery,否则它不起作用。我试图在BundleConfig中包含这些脚本文件,甚至在布局页面上根本不工作。什么是诀窍?!

<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项目:

+1

您可以向我们展示您的代码,在您的'BundleConfig'中包含'js.'文件,以及您如何在布局中调用捆绑脚本?谢谢。 – arman1991

回答

0

一般来说,你已经在你的项目

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")); 

    } 

在您的共享/ _Layout.cshtml视图添加了一个App_Start/BundleConfig.cs增加了_ViewStart.cshtml,它在每个视图中定义了单个布局。并在Global.asax.cs中检查捆绑注册

protected void Application_Start() 
{ 
    RouteConfig.RegisterRoutes(RouteTable.Routes); 
    BundleConfig.RegisterBundles(BundleTable.Bundles); 
    // ... 
} 
相关问题