我很困惑,我刚刚开始为我的ASP.NET MVC4网站开发CSS,但我并不完全了解正在发生的事情。
目前我的移动布局有效,但对它的任何更改都会导致一个又一个奇怪的效果。 (例如,不断显示未显示给ajax-loader.gif的表格。)
我在.Layout.Mobile.cshtml
@Styles.Render("~/Content/Mobile/css", "~/Content/jquerymobile/css") <link rel="stylesheet" href="~/Content/Mobile/css/jquery.mobile-1.2.0.min.css" /> <link rel="stylesheet" href="~/Content/Mobile/css/jquery.mobile-1.2.0.css" /> <link rel="stylesheet" href="~/Content/Mobile/css/jquery.mobile.theme-1.2.0.css" /> @Scripts.Render("~/bundles/jquery", "~/bundles/jquerymobile") <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script src="http://code.jquery.com/mobile/latest/jquery.mobile.min.js"></script>
我修改了App_start中的BundleMobileConfig.cs
,如下所示:
// bundles.Add(new StyleBundle("~/Content/Mobile/css")
// .Include("~/Content/Site.Mobile.css"));
//kludge is the above wrong...and the following needed??
bundles.Add(new StyleBundle("~/Content/Mobile/css")
.Include("~/Content/Site.Mobile.css",
"~/Content/Mobile/css/"));
我不明白为什么这不是这个捆绑的默认值?
以下是我的问题:
如果您要注意样式表,我不需要包含三个显式链接,它们应该来自捆绑包。但如果删除其中任何一个,网站就会中断。
~/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。我读过几本,我发现了萤火虫 很有用,但我不知道接下来要去哪里看。
答案 0 :(得分:2)
尝试用此替换您的捆绑代码。
bundles.Add(new StyleBundle("~/Content/Mobile/css")
.Include("~/Content/Site.Mobile.css",
"~/Content/Mobile/jquery.mobile*"));
这应该加载你的文件而不是明确地这样做。
答案 1 :(得分:0)
你的权利确实有效!感谢....
奇怪的是,以下情况不起作用:
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>
这是有效的....使用你的例子,我将找出一个外卡模式,也包括这个。