【发布时间】:2014-02-03 11:23:32
【问题描述】:
我已经在网络上搜索并搜索了这个问题的答案,但我还没有找到关于为什么会发生这种情况的“明确说明”的答案。而且我已经重新工作无济于事。
我有一个 Asp.Net 站点,有一个“母版页”和几个“内容”页
-
有一个 CSS 文件成功地在正文中分配了一个“背景图像” - 用于所有页面:
body { background-image: url('../Images/TestImage1.jpg'); } 我有另一个图像,例如 TestImage2.jpg,它位于解决方案中的同一图像文件夹中,我想在特定的该页面加载时的“内容页面”。然而,它没有加载到页面上,背景只是变成白色而没有任何图像 - 这是我的代码:
我的 MasterPage 中有 runat="server" 的正确项目:
<head runat="server">
<title></title>
<link href="~/Styles/Site.css" rel="stylesheet" type="text/css" />
<asp:ContentPlaceHolder ID="HeadContent" runat="server">
</asp:ContentPlaceHolder>
...还有...
<body runat="server">
<form style="height: 906px" runat="server">
现在,这是我希望在 Page_Load 上显示新图像的内容页面的代码隐藏:
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class TechCall : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
StringBuilder script = new StringBuilder();
script.Append("<script type=\"text/javascript\">");
script.Append("document.body.style.background = \"url('../Images/CPUBack2nd.jpg')\";");
script.Append("document.body.style.backgroundRepeat = 'no-repeat';");
script.Append("</script>");
this.ClientScript.RegisterClientScriptBlock(this.GetType(), "changeBackground", script.ToString());
}
}
CPUBack2nd.jpg 是代替 TestImage2.jpg 的图像的实际名称,但是据我所知,我使用的是正确的图像路径,就像 CSS 文件中定义默认背景图像的路径一样。然而,当页面加载时,背景中根本没有出现任何图像 - 只是一个空白区域,原始图像正确显示在其他页面上。
有人可以检查并告诉我我在这里缺少什么吗?注意:请不要建议使用 JQuery,好像它可以使用 Javascript 来解决,那么我希望坚持这种用法,因为我只是想学习使其与 JS 一起使用。
【问题讨论】:
-
文件背后的代码是否存在于 int 根文件夹中?
-
我刚刚尝试了您的代码,它在我创建的一个简单页面上运行良好。您是否使用浏览器的开发者工具检查了 CSS?
标签: c# javascript asp.net