Прежде, чем я начну, позвольте мне сказать, что я знаю, что есть другие вопросы по поводу этих вопросов, которые имеют отличные ответы, но, пожалуйста, позвольте мне объяснить, как у меня разные.ASP.NET MVC 5 вложенные скрипты, не вызываемые в _Layout.cshtml
У меня есть 5 проект ASP.NET MVC, где у меня есть коллекция жгутов:
public class BundleConfig
{
// For more information on bundling, visit http://go.microsoft.com/fwlink/?LinkId=301862
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
"~/Scripts/jquery.js"));
bundles.Add(new ScriptBundle("~/bundles/jqueryval").Include(
"~/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/bootstrap").Include(
"~/Scripts/bootstrap.js"));
bundles.Add(new StyleBundle("~/Content/css").Include(
"~/Content/bootstrap.css",
"~/Content/freelancer.css"));
// Plugin JavaScript
bundles.Add(new ScriptBundle("~/bundles/pluginjs").Include(
"~/Scripts/cbpAnimatedHeader.js",
"~/Scripts/classie.js"));
//Custom Theme js
bundles.Add(new ScriptBundle("~/bundles/customthemejs").Include(
"~/Scripts/freelancer.js"));
// Contact Form JavaScript
bundles.Add(new ScriptBundle("~/bundles/contactvalidation").Include(
"~/Content/jqBootstrapValidation.js",
"~/Content/contact_me.js"));
}
Они называются в _Layout.cshtml
:
@Scripts.Render("~/bundles/customthemejs")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/contactvalidation")
@Scripts.Render("~/bundles/pluginjs")
@Scripts.Render("~/bundles/bootstrap")
@RenderSection("scripts", required: false)
</body>
</html>
И в `global.asax:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
Вот что я знаю до сих пор:
- Все
StyleBundle
«s называются и успешно вызываются таким образом я могу точно определить источник проблемы к чему-то внутри сценария, ссылающегося - Сценарии называют также находятся в правильной папке т.е. ~/Scripts/.... так что я знайте, что это не проблема ссылок.
- скрипты работают, как я проверил их с помощью проекта Web Forms
- Я попытался ссылки пучков в
head
разделе_Layout.cshtml
, но без изменения - Dev инструменты в хроме и отладчик в VS показать сценарий это не запускать
- Мое единственное подозрение в том, что существует разрыв где-то между вызовом из
_Layout.cshtml
и расслоения вBundleConfig
класса
Я пробовал другие решения, которые рекомендуют другие в Интернете, например, поиск синтаксических ошибок и т. д., но, насколько мне известно, их нет.
Чтобы сделать структуру сценариев очевидно, что я включил снимок экрана:
Может кто-нибудь увидеть это в другом ракурсе, чем я, и увидеть, где я пошло не так?
Какой сценарий не работает? возможно, это проблема с порядком написания скрипта? – Backs
Вы назвали RegisterBundles в global.aspx? –
Связки вызывается в global.asax. StyleBundles называются просто не пакетами сценариев – AnonDCX