【问题标题】:(ASP.NET) Master Page has a BG image,Unable to load that BG image in content pages(ASP.NET) 母版页有 BG 图像,无法在内容页面中加载该 BG 图像
【发布时间】:2012-05-22 03:52:17
【问题描述】:

.Master 页面组织为

root/masters/xyz.master

.aspx 内容页面组织为

root/folder1/sub_folder/xyzw.aspx

如您所见,问题是由文件夹层次结构引起的

有什么方法可以让我在所有内容页面的 .master 之一中看到我的 BG 图像集?

请举例说明

向我推荐具有更好组织的可能解决方案(即文件夹中的某些级别

我没有与基本母版页配置相关的错误/警告。甚至尝试在 web.config 中设置 MasterPageFile 但没有运气

[新信息]

上次忘记告诉Images文件夹的位置,我不在站所以无法回复

你来了,

**Master Page:**

 - root -> Master Pages ->Default.master
 - root -> Images -> BG_purp_patt_2.jpg

     <%@ Master Language="C#" AutoEventWireup="true"
     CodeFile="Default.master.cs" Inherits="Master_Pages_Default" %>

ContentPlaceHolder(head)

     <body style="background-image: url('../Images/BG_purp_patt_2.jpg');
     background-repeat: no-repeat;">

ContentPlaceHolder(a)

ContentPlaceHolder(b)

ContentPlaceHolder(c)

**Start Page:** 

(Note. This page displays BG image )

 - root -> Home ->Home.aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/Master Pages/Default.master" AutoEventWireup="true"
        CodeFile="Home.aspx.cs" Inherits="Home_Home" %>

ContentPlaceHolder(head)

ContentPlaceHolder(a)

ContentPlaceHolder(b)

ContentPlaceHolder(c)

**Another Content Page:**

(Note. There is no display of BG image in this and rest of 20 or 30 pages inside subfolders organised in this pattern(root ->folder ->folder ->page.aspx))

 - root -> Jobs & Tenders -> 1_Faculty Position -> Default.aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/Master Pages/Default.master" AutoEventWireup="true"    CodeFile="Default.aspx.cs" Inherits="Jobs___Tenders_1_Faculty_Position_Default" %>

...ContentPlaceHolder(head)

..ContentPlaceHolder(a)

..ContentPlaceHolder(b)

..ContentPlaceHolder(c)

我希望它清楚。

我认为这已经足够了,问题是 BG 在除主页之外的内容页面中不可见(为什么?)

在你发帖之前,我尝试过使用“~”“../”连接但没有运气

我认为stackoverflow的作曲功能必须更容易:p

【问题讨论】:

  • 您能否发布显示问题的代码/css。你可能想看看 ResolveUrl 和 ~
  • 正如@IrishChieftain 所说,您的标记肯定会说,但听起来您可能正在使用图像的相对路径而不是绝对路径。如果您将背景图片设置在单独的 CSS 文件中,则图片路径应该是相对于该 CSS 文件的,这可能更适合您。

标签: asp.net web-config master-pages


【解决方案1】:

与您指定图像的位置无关,ASP 应该解析正确的路径(使用~runat 属性):

<img src="~/path/to/image.png" runat="server" />

如果您在 CSS 中指定背景图像,请尝试以下操作:

body { background-image: url(~/path/to/image.png); }

每当您包含 CSS 文件时,请在 head 标签中使用 runat 属性:

<head runat="server">
...
</head>

【讨论】:

  • 不是设置背景图片的方式;通常在 CSS 中设置。
  • nyi 举了一个在页面上使用 CSS 设置它的例子。如果您尝试从 CSS 文件中设置 BG 图像,则应使用存储 CSS 的相对路径(无论是 ASP.NET 还是任何其他语言都通用)
猜你喜欢
  • 2013-01-25
  • 2012-07-24
  • 2011-05-20
  • 2011-10-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-20
相关资源
最近更新 更多