这些都不会“奇迹般地”找到您的图像,无论在图像所在的文件夹中。您将始终必须在链接中为图像提供一部分路径才能呈现该图像。
但是,在这三个中,我会推荐第二行url(~/images/Docs/Plan/myImage.jpg);
作为完成您需要做的事情的最佳方式。
.NET中的'〜'是框架的一个特殊字符,可以在站点的根目录处启动您的路径。它基本上说,无论网站内的请求来自哪个目录,都转到根目录并从那里开始你的路径。
'../'是标准的HTML语法,意思是上一个目录,然后开始寻找你的路径。
例如,假设您的网站位于www.domain.com。这里是你的文件夹结构
Images
Docs
Plan
CSS
Admin
SomeFolder
SomeFolderSubFolder
Default.aspx (your default document when you get to your site)
例子
如果你是Default.aspx中,然后手工编码的URL到你的图像会作为(/Images/Docs/Plan/myImage.jpg)
你在你的网站在根这点。
如果你在SomeFolder,然后手工编码的URL到你的图像会(../Images/Docs/Plan/myImage.jpg)
,因为你必须要上去目录去哪里Images目录位于你的站点的根目录。
如果你在SomeFolderSubFolder,然后手工编码的URL到你的图像会(../../Images/Docs/Plan/myImage.jpg)
- 因为你需要上去目录到你的网站,你的图片文件夹的根目录。
现在,通过使用url(~/images/Docs/Plan/myImage.jpg);
方法,您不必担心知道您的网站有多少深度,它始终会从网站根目录开始查找。上面这些代码中的每一个代码都会用这行代码来正确渲染图像。
编辑
好了,你在网上的风格尝试这一点。你可能/应该能够做到这一点:
<td align="center" style="background-image: url(<%= Server.MapPath("~/images/Docs/Plans/myImage.jpg") %>);></td>
或者,有什么错用../方法,你只需要记住,你是在你的文件夹结构。最后,如果您要在样式表中声明此样式而不是内联,则图片与页面相关的位置无关紧要,就像它们与样式表FYI相关的位置。
<td align="center" class="tdWithImages"></td>
styles.css的
#tdWithImages{background-image: url(../Images/Docs/Plan/myImage.jpg);}
“〜/” 不working..when我用this..image vanished..when我用 “../../” 图像出现。 在我上面写的第一行代码中,还有什么是“Constants.SiteURL”的含义? – Serenity 2010-08-26 11:44:34
该行看起来像在代码中设置的静态变量,该代码提供站点根的完整路径。我会认为它看起来像siteURL =“http://www.yoursite/com”。如果你曾经移动你的网站,你将不得不改变这个变量并重新编译。至于上述不工作,你可以发布你的完整代码,你如何使用它? URL()来自哪里?你是否用引号(“)包围路径? – Tommy 2010-08-26 11:52:38
已添加详细信息 – Serenity 2010-08-26 12:00:16