日期:2014-05-17  浏览次数:20488 次

asp.net 图片正斜杠 反斜杠 显示问题
<img src="<%# Eval("image") %>" alt=""  width='160' height='130' />

<%# Eval("image") %>  输出地址是   Update\Procduct\1.jpg 

为什么有些页面图片可以正常显示!

而相同的写法我这里显示不了。 只能改成  Update/Procduct/1.jpg    才能显示啊???

.ASPX文件下 如何把 \转换成/   
 谢谢!

------最佳解决方案--------------------
路径中使用斜杠/和反斜杠\的区别到底是什么。查阅了一些资料后可知。
 
Unix使用斜杆/ 作为路径分隔符,而web应用最新使用在Unix系统上面,所以目前所有的网络地址都采用 斜杆/ 作为分隔符。
 
Windows由于使用 斜杆/ 作为DOS命令提示符的参数标志了,为了不混淆,所以采用 反斜杠\ 作为路径分隔符。所以目前windows系统上的文件浏览器都是用 反斜杠\ 作为路径分隔符。随着发展,DOS系统已经被淘汰了,命令提示符也用的很少,斜杆和反斜杠在大多数情况下可以互换,没有影响。
 
知道这个背景后,可以总结一下结论:
 
(1)浏览器地址栏网址使用 斜杆/ ;
 
(2)windows文件浏览器上使用 反斜杠\ ;
 
(3)出现在html url() 属性中的路径,指定的路径是网络路径,所以必须用 斜杆/ ;
 
<div style="background-image:url(/Image/Control/title.jpg); background-repeat:repeat-x; padding:10px 10px 10px 10px"></div>
// 如果url后面用反斜杠,就不会显示任何背景 
(4)出现在普通字符串中的路径,如果代表的是windows文件路径,则使用 斜杆/ 和 反斜杠\ 是一样的;如果代表的是网络文件路径,则必须使用 斜杆/ ;
 
<img src=".\Image/Control/ding.jpg" /> // 本地文件路径,/ 和 \ 是等效的
<img src="./Image\Control\cai.jpg" />
<img src="http://hiphotos.baidu.com/yuhua522/pic/item/01a949c67e1023549c163df2.jpg" /> // 网络文件路径,一定要使用 斜杆/ 
 

------其他解决方案--------------------
\一般是用于磁盘路径
/一般是用于网页url路径
引用:
为什么有些页面图片可以正常显示!

也许因为你本地路径中存在这个图片文件,所以可以显示出来

要替换掉,很简单:
<%# Eval("image").ToString().Replace("\\","/") %>
------其他解决方案--------------------
可以用\\代替/
------其他解决方案--------------------
求高手解惑····
------其他解决方案--------------------
自己顶。。。。。高手在哪里啊!?!?!!!!
------其他解决方案--------------------
tks~~问题解决了!
 本地文件路径,/ 和 \ 是等效的
<%# Eval("image").ToString().Replace("\\","/") %>