Css asp.net mvc 4捆绑包和显式文件包括

Css asp.net mvc 4捆绑包和显式文件包括,css,asp.net-mvc-4,bundle,Css,Asp.net Mvc 4,Bundle,我很困惑,我刚刚开始为我的ASP.NETMVC4网站开发CSS,我不完全理解正在发生的事情 目前,我的手机布局正常,但对它的任何更改都会导致一个又一个奇怪的效果。(例如,不向ajax-loader.gif显示的表单会持续显示。) 我在.Layout.Mobile.cshtml 我不明白为什么这不是这个捆绑包的默认值 以下是我的问题: 如果您注意到样式表,我不需要包括三个显式链接,它们应该来自bundle。但如果删除其中任何一个,网站就会中断 为什么修改后的~/Content/Mobile/cs

我很困惑,我刚刚开始为我的ASP.NETMVC4网站开发CSS,我不完全理解正在发生的事情

目前,我的手机布局正常,但对它的任何更改都会导致一个又一个奇怪的效果。(例如,不向ajax-loader.gif显示的表单会持续显示。)

我在
.Layout.Mobile.cshtml

我不明白为什么这不是这个捆绑包的默认值

以下是我的问题:

  • 如果您注意到样式表,我不需要包括三个显式链接,它们应该来自bundle。但如果删除其中任何一个,网站就会中断

    • 为什么修改后的
      ~/Content/Mobile/css
      捆绑包不能提取这些css文件
  • 对于脚本文件,我已经查看了code.jquery.com,我不明白为什么需要这些。我的本地代码是最新的(即jquery-1.9.1.js和jquery.mobile-1.2.0.js)

    • 我认为1.9.1版应该能够在没有任何限制的情况下取代1.7.1版 有问题,但事实并非如此

    • jquery.mobile.min.js应该只在发布和调试之间切换 vesion,这应该不会引起问题,但确实会

  • 我使用firebug查看正在加载的文件,当我使用 没有显式包含的包的呈现我没有得到包含的文件,为什么不呢?我读过关于包的内容,似乎我应该只得到绑定的文件

    有人能告诉我发生了什么,并给我指一个教程,让我学习吗 如何使用如何调试CSS和bundle。我已经阅读了几篇文章,我发现firebug非常有用
    有用,但我不知道下一步该看哪里。

    尝试用此代码替换捆绑包代码

    bundles.Add(new StyleBundle("~/Content/Mobile/css")
            .Include("~/Content/Site.Mobile.css",
                     "~/Content/Mobile/jquery.mobile*"));
    

    这应该在不显式加载文件的情况下加载您的文件。

    您的权利这确实有效!谢谢

    奇怪的是,以下情况不起作用:

    bundles.Add(new StyleBundle("~/Content/Mobile/css")
        .Include("~/Content/Site.Mobile.css",
                 "~/Content/Mobile/css/jquery.mobile-{version}.js",
                 "~/Content/Mobile/css/jquery.mobile.theme-{version}.js",
                 "~/Content/Mobile/css/jquery.mobile.structure-{version}.js",
                 "~/Content/Mobile/css/"));
    
    我理解你的例子为什么有效…但不理解我的为什么无效…除非版本标签不能像我期望的那样工作

    此外,我还发现jquery 1.9.1与1.7.1有很大不同,为此我必须执行以下操作:

    @Scripts.Render("~/bundles/jquery")  
    @Scripts.Render("~/bundles/jquerymobile")  
    <script src="~/Scripts/jquery-1.9.1.js"></script>
    <script src="~/Scripts/jquery-migrate-1.1.1.js"></script> 
    <script src="~/Scripts/jquery.mobile-1.2.0.js"></script>
    
    @Scripts.Render(“~/bundles/jquery”)
    @Scripts.Render(“~/bundles/jquerymobile”)
    

    这是有效的…使用您的示例,我将找出一个通配符模式来包括这一点。

    是的,我也遇到过类似的捆绑包问题,我只是不理解,有时它无法按我们预期的方式工作,不知道为什么。我还想知道默认捆绑包…脚本和样式。。。.我想知道使用wild carding的订单是否不总是有效…现在我已经决定不使用捆绑包(在开发期间)…当我接近发布时,我想我将创建一些自定义捆绑包…这似乎是一个好主意,需要一些工作…再次感谢您的洞察力…现在开始下一个问题。
    bundles.Add(new StyleBundle("~/Content/Mobile/css")
        .Include("~/Content/Site.Mobile.css",
                 "~/Content/Mobile/css/jquery.mobile-{version}.js",
                 "~/Content/Mobile/css/jquery.mobile.theme-{version}.js",
                 "~/Content/Mobile/css/jquery.mobile.structure-{version}.js",
                 "~/Content/Mobile/css/"));
    
    @Scripts.Render("~/bundles/jquery")  
    @Scripts.Render("~/bundles/jquerymobile")  
    <script src="~/Scripts/jquery-1.9.1.js"></script>
    <script src="~/Scripts/jquery-migrate-1.1.1.js"></script> 
    <script src="~/Scripts/jquery.mobile-1.2.0.js"></script>