ASP.NET MasterPage中图片路径的解决办法

一般而言,链接路径的表达有三种方式:绝对路径、相对路径和基于根目录的路径。另外对于ASP.NET服务器控件来说,还可以使用“~”来代替根目录来表示。

在MasterPage和用户控件中,经常要使用一些图片作为背景或漂亮的按钮,但是在指定图片的src或者background时候,经常因为链接路径的问题而出错。

1.使用绝对路径:使用形如“D:\xxx\xxx.gif”的绝对文件路径一般情况下是不可取的。可以考虑采取url的方法,写成gif/xxx.gif”。但是缺点是不利于移植,例如现在站点的地址为http://www.xxx.net,如果有一天站点更该http://www.xxx.com,则所有的链接地址都失效,需要进行更改,难以维护。

2.使用相对路径:使用相对于页面位置的路径,比如“..\images\xxx.gif”,这样MasterPage和用户控件中都能正确显示,但是如果将继承MasterPage的页面放到不同的文件夹下,或者使用用户控件的页面不在同一文件夹,那么该页面又会找不到正确的图片位置了!

3.基于根目录的路径:形如:<a href="/xxx/xxx.gif">这样的解决方法在ASP.NET2.0调试的时候,因为没有建立虚拟目录,并不能正确显示(我也不是很肯定,没有确认^_^)。而我在非服务器控件的HTML标签元素上无法使用“~”来指定路径。

那么,在设计时让图片可见,我们应该怎么来处理呢?我采用了CSS来完成这项工作。针对要显示图片的元素和控件,我们可以写一段简单的css来定位图片,因为css文件的位置是一般不会改变的(位于App_Theme/themename/xxx.css),这种方法也就行之有效了。

.HideBar
{
  height:56px;
  width:5px;
  cursor:hand;
  background-image: url(../../images/xxx.gif);

}接下来我们只需要在相应的元素和控件的cssclass中填入HideBar,就可以做到每个继承MasterPage或使用用户控件的页面都能正确显示图片了。

我想应该还有其它更好的办法,也希望有人能指点一二。

时间: 2024-08-03 20:10:55

ASP.NET MasterPage中图片路径的解决办法的相关文章

ASP.NET MasterPage 中图片路径的解决办法

asp.net|erp|解决 一般而言,链接路径的表达有三种方式:绝对路径.相对路径和基于根目录的路径.另外对于ASP.NET服务器控件来说,还可以使用"~"来代替根目录来表示.在MasterPage和用户控件中,经常要使用一些图片作为背景或漂亮的按钮,但是在指定图片的src或者background时候,经常因为链接路径的问题而出错.1.使用绝对路径:使用形如"D:\xxx\xxx.gif"的绝对文件路径一般情况下是不可取的.可以考虑采取url的方法,写成http:

java-Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急

问题描述 Java实现自动识别文件夹中图片路径?上传到网站中的 源码,很急 Java实现自动识别文件夹中图片路径,上传到网站中的 源码,比如,我有一个文件夹,里面有许多图片,需要发布到一个网站 解决方案 你直接复制到服务器不必这个快??? 解决方案二: 这个发布到服务器不是把地址发布到服务器,而是把图片上传的服务器,服务器没有C盘D盘什么的,它是图片上传到服务其的一个指定地址,在把这个地址存入类中对应的数据库字段中,在通过掉用这个地址获得图片,如果是在本地就可以通过String name=fil

请问asp .net mvc 添加图片路径 是在哪里添加? 视图 还是模型 还是控制器

问题描述 请问asp .net mvc 添加图片路径 是在哪里添加? 视图 还是模型 还是控制器 rt 请问asp .net mvc 添加图片路径 是在哪里添加? 视图 还是模型 还是控制器

IE浏览器图片不显示解决办法

  IE浏览器图片不显示解决办法 首先在电脑桌面,双击打开ie浏览器快捷打开方式.(如下图) 然后来到ie浏览器默认的主页,可以看到图片还是无法显示出来,先点击左上角菜单栏中的"工具".(如下图) 接着在工具菜单下弹出来的设置菜单中,选择"Internet 选项".(如下图) 来到Internet 选项窗口的常规设置页面,在点击上面菜单中的"高级".(如下图) 在高级设置的"多媒体"设置下面,如果看到"显示图片&qu

当前标识没有对&quot;Temporary ASP.NET Files&quot;的写访问权限的解决办法_win服务器

在IIS上部署程序后出现错误-当前标识(NT AUTHORITY/NETWORK SERVICE)没有对"C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files"的写访问权限: 这种情况通常是因为先安装了.net Framework,然后再安装IIS服务器导致的,所以只要在IIS重新注册一遍.net Framework就可以了: 在命令行中输入命令: 复制代码 代码如下: C:/WINDOWS/Micr

MAC 中mysql密码忘记解决办法

MAC 中mysql密码忘记解决办法 最近项目用到MySQL,之前装过一个,可是忘记了当时设置的密码,然后走上了修改密码的坎坷道路.在百度,Google了一堆资料之后还是,发现处处是给程序员埋的坑.于是下决心,写一篇博客,涵盖各种情况下忘记密码的解决办法. 情况一:在mysql官网直接下载dmg文件进行安装,忘记密码 1.关闭mysql服务器 sudo /usr/local/mysql/support-files/mysql.server stop 2.进入目录 cd /usr/local/my

网页中实现套打的解决办法

解决|网页 <% rem 文章标题:关于网页中实现套打的解决办法 rem 作者:yanek rem 联系:aspboy@263.net %> 1.制作一个简单网页,其中只包含一个元素.. 如:几个字,并设置其位置为坐标原点O(0mm,0mm),以mm为单位. <DIV STYLE="position: absolute; top: 0mm; left: 0mm; width: 120px; font: 9pt 宋体; color: #000020">中文天地&l

win8下XAMPP中Apache模块无效解决办法

  win8下XAMPP中Apache模块无效解决办法 win8下系统默认占用80端口,导致apache无法打开. 以管理员权限运行c:windowssystem32cmd.exe C:WINDOWSsystem32>net stop http HTTP Service 服务已成功停止. C:WINDOWSsystem32>netstat -ano | findstr 0.0.0.0:80 C:WINDOWSsystem32>sc config http start=disabled [

U盘属性窗口中没有安全选项解决办法

  现在,很多人在办公和生活中都需要使用到U盘,并且用U盘装系统的情况并不少.通常,里面很可能装有比较重要的资料和文件,所以不少朋友都会将自己的U盘设置密码,设置访问权限等等,而这个时候,咱们就需要在U盘属性窗口中的安全选项卡中完成操作,但是最近有朋友发现,自己的U盘属性窗口中,没有发现安全选项,这个时候要怎么办呢? U盘属性窗口中没有安全选项解决办法 原因分析:一般来说,U盘属性窗口中的安全选项卡消失是因为U盘的格式被修改成了FAT32造成的,如果想要重新找回安全选项,咱们只需要将U盘格式重新