4

在本地运行我的 mvc 网站(VS IIS)时,图像正确显示:

CSS 片段:

.sprites {
    background: transparent url(../images/sprites.png) no-repeat 0 0;
}

但是,当站点发布到服务器或本地 IIS(不是 VS IIS)时,图像无法加载(给出无效路径)

在服务器上正确显示图像的唯一方法是修改 css 文件,而"../images/sprites.png"不是"/content/images/sprites.png"

这是为什么?

4

3 回答 3

5

我想到了:

MVC4 带有\App_Start\BundleConfig.cs用于最小化 css/js 脚本的文件。

每当我发布我的网站 (RELEASE) 时,它都会调用 \Content\css(最小化文件),其中包含我的图像的路径(“../images/etc..”),这是不正确的,因为 css 文件不再位于 /Content 中/Styles/style.css 但 /Content/css(最小化版本)。

我不得不修改它:

从:

bundles.Add(new StyleBundle("~/Content/css").Include(
                        "~/Content/styles/all.css",
    ..

到:

        bundles.Add(new StyleBundle("~/Content/styles/css").Include(
                "~/Content/styles/all.css",

..

在我的 layout.cshtml 中:

@Styles.Render("~/Content/styles/css")
于 2013-02-11T15:38:17.893 回答
0

看起来您的 CSS 中的路径未指向正确的图像位置。..表示上一级,我假设该目录没有 images 文件夹,因此您必须明确指定 content/images 文件夹。

于 2013-02-11T15:08:34.040 回答
0

css 路径必须与两个系统上的图像路径相同。是这样吗 ?

于 2013-02-11T15:13:41.383 回答