2015-05-10 4 views
0

Я работаю с библиотеками jQuery в проекте ASP.Net MVC.Bundling javascript/css

Следующий фрагмент кода из «BundleConfig.cs»

public class BundleConfig 
{ 
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryui").Include(
        "~/Scripts/jquery-ui-{version}.js")); 

     bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
        "~/Scripts/jquery.unobtrusive*", 
        "~/Scripts/jquery.validate*")); 

     // Use the development version of Modernizr to develop with and learn from. Then, when you're 
     // ready for production, use the build tool at http://modernizr.com to pick only the tests you need. 
     bundles.Add(new ScriptBundle("~/bundles/modernizr").Include(
        "~/Scripts/modernizr-*")); 

     bundles.Add(new ScriptBundle("~/bundles/jqgrid").Include(
      "~/Scripts/jquery.jqGrid.min.js", 
      "~/Scripts/grid.locale-en.js")); 

     bundles.Add(new StyleBundle("~/Content/css").Include("~/Content/site.css")); 

     bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
        "~/Content/themes/base/jquery.ui.core.css", 
        "~/Content/themes/base/jquery.ui.resizable.css", 
        "~/Content/themes/base/jquery.ui.selectable.css", 
        "~/Content/themes/base/jquery.ui.accordion.css", 
        "~/Content/themes/base/jquery.ui.autocomplete.css", 
        "~/Content/themes/base/jquery.ui.button.css", 
        "~/Content/themes/base/jquery.ui.dialog.css", 
        "~/Content/themes/base/jquery.ui.slider.css", 
        "~/Content/themes/base/jquery.ui.tabs.css", 
        "~/Content/themes/base/jquery.ui.datepicker.css", 
        "~/Content/themes/base/jquery.ui.progressbar.css", 
        "~/Content/themes/base/jquery.ui.theme.css", 
        "~/Content/ui.jqgrid.css")); 
    } 
} 

Это HTML-код из моего файла макета, где у меня есть @ Stlyes.Render. Согласно моему пониманию, он должен включать все библиотеки javascript и css, которые были включены в мой код выше. Однако, когда я просматриваю источник страницы, он включает только несколько библиотек (как показано на скриншоте ниже).

<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") 
    @Scripts.Render("~/bundles/jqgrid") 

</head> 

enter image description here

Не знаю, почему он не включает все яваскрипт и CSS файлы, даже после указания тех, кто в файл BundleConfig.cs.

Пожалуйста, помогите!

Добавлен скриншот разработчика explorer для списка файлов javascript. enter image description here

+0

Вы восстановили проект и убедитесь, что новая dll правильно скопирована в папку «bin»? –

+0

bundles.Add (новый ScriptBundle ("~/bundles/jqueryui"). Включить ( "~/Scripts/jquery-ui- {version} .js")); Кроме того, почему этот скрипт не включен. Хотя это отдельный оператор include. –

+0

является '' ~/Scripts/jquery.jqGrid.min.js "' существующим в вашем веб-каталоге? –

ответ

0

См. Комментарий от @ haim770, поскольку ссылка, которую он указал на другие вопросы, относится к этому. Похоже, что .Net имеет проблемы с рендерингом или включает в себя две версии js или css, даже если они являются минитипированными или регулярными версиями. Я сделал это, чтобы переименовать файл библиотеки jQuery из min.js в .js.

Мне также не хватало нескольких скриптов @ Scripts.Render для нескольких js и css-файлов в файле _Layout.cshtml (view). После включения кода код теперь работает нормально. Спасибо за вашу помощь!

Смежные вопросы