相关疑难解决方法(0)

MVC4 StyleBundle无法解析图像

我的问题与此类似:

ASP.NET MVC 4缩小和背景图像

除非我想坚持使用MVC自己的捆绑,如果可以的话.我正在脑力崩溃试图弄清楚用于指定样式包的正确模式是什么,例如jQuery UI工作的独立css和图像集.

我有一个典型的MVC站点结构,/Content/css/其中包含我的基本CSS,如styles.css.在该css文件夹中,我还有子文件夹,例如/jquery-ui包含其CSS文件和/images文件夹的子文件夹.jQuery UI CSS中的图像路径是相对于该文件夹的,我不想搞砸它们.

据我所知,当我指定一个StyleBundle我需要指定一个不匹配真实内容路径的虚拟路径时,因为(假设我忽略了到内容的路由),IIS将尝试将该路径解析为物理文件.所以我指的是:

bundles.Add(new StyleBundle("~/Content/styles/jquery-ui")
       .Include("~/Content/css/jquery-ui/*.css"));
Run Code Online (Sandbox Code Playgroud)

渲染使用:

@Styles.Render("~/Content/styles/jquery-ui")
Run Code Online (Sandbox Code Playgroud)

我可以看到要求:

http://localhost/MySite/Content/styles/jquery-ui?v=nL_6HPFtzoqrts9nwrtjq0VQFYnhMjY5EopXsK8cxmg1
Run Code Online (Sandbox Code Playgroud)

这将返回正确的,缩小的CSS响应.但随后浏览器发送相对链接图像的请求,如下所示:

http://localhost/MySite/Content/styles/images/ui-bg_highlight-soft_100_eeeeee_1x100.png
Run Code Online (Sandbox Code Playgroud)

这是一个404.

我知道我的URL的最后一部分jquery-ui是一个无扩展名的URL,我的包的处理程序,所以我可以看到为什么相对的图像请求是简单的/styles/images/.

所以我的问题是处理这种情况的正确方法什么

css bundle jquery-ui asp.net-mvc-4 asp.net-optimization

288
推荐指数
9
解决办法
10万
查看次数

CssRewriteUrlTransform有或没有虚拟目录

我们在我们的站点中使用MVC Bundling,CssRewriteUrlTransform确保图像URL在动态bundle css文件中工作.

但这只适用于不使用虚拟目录的情况,即

http://localhost/VirttualDir不行,但http://localhost/确实如此.这是因为CssRewriteUrlTransform在重写URL时,转换不会考虑虚拟文件夹.因此,如果图像真实路径是localhost/vdir/content/img/foo.png它将重写它localhost/content/img/foo.png是错误的

c# web-optimization asp.net-mvc-4 bundling-and-minification

61
推荐指数
3
解决办法
2万
查看次数

ASP.NET MVC4捆绑Twitter Bootstrap

我正在尝试使用Twitter引导程序在MVC 4中使用新的捆绑功能,在我看来,像css的字形png文件的路径以某种方式搞砸了.继承我的代码:

 bundles.Add(new StyleBundle("~/bundles/publiccss").Include(
            "~/Static/Css/bootstrap/bootstrap.css",
            "~/Static/Css/bootstrap/bootstrap-padding-top.css",
            "~/Static/Css/bootstrap/bootstrap-responsive.css",
            "~/Static/Css/bootstrap/docs.css"));


        bundles.Add(new ScriptBundle("~/bundles/publicjs").Include(
            "~/Static/Js/jquery-1.7.2.js",
            "~/Static/Js/bootstrap/bootstrap.js",
            "~/Static/Js/cookie/jquery.cookie.js"));
Run Code Online (Sandbox Code Playgroud)

我没有在按钮上看到任何图标,同样如此.我在这里做错了吗?有什么建议?

asp.net asp.net-mvc-4 twitter-bootstrap bundling-and-minification asp.net-optimization

37
推荐指数
3
解决办法
2万
查看次数

IIS Express与网站项目,如何使用内部虚拟目录?

我的生产环境有一个根目录,我的虚拟目录将位于根目录内的 /brazil 文件夹中。

当我转换我的网站项目(不是 Web 应用程序)时,由于我的网站文件夹是 brazil,因此可以与位于 /brazil 的 Cassini 正常工作,IIS Express 将该网站置于根目录,我该如何更改此设置?

asp.net iis iis-express

4
推荐指数
1
解决办法
2513
查看次数