日期:2014-05-18  浏览次数:20362 次

问一个简单的问题,关于路径的问题
请问大家,关于路径的问题我区分不是蛮清楚,大家帮我解释一下:
1. "/image/"
2."~/image/"
3."\image\"
4."~\image\"
5.Server.MapPath("/image/")
6.Server.MapPath("~/image/")
7Server.MapPath("\image\")
8.Server.MapPath("~\image\")
这个里面有的写得可能是错的,大家帮我解释一下,这是什么意思,谢谢

------解决方案--------------------
1. "/image/" 项目根目录下的image 用于调用页面级相同
2."~/image/" 项目根目录下的image 用于调用页面级的子目录,或子内目录 比根目录小都行


3."\image\" 同上 好像转译什么的
4."~\image\" 同上
5.Server.MapPath("/image/") 服务器上的虚拟路径,意思和上面差不驮
6.Server.MapPath("~/image/") 服务器上的虚拟路径,意思和上面差不驮
7Server.MapPath("\image\") 
8.Server.MapPath("~\image\")
------解决方案--------------------
\imgae\写法有问题,没有用转义字符,编译都没有办法通过。。

~\\imgage\\上一级目录下的image文件夹

imgage\\ 表示当前目录的image子目录

目录路径分隔符,/和\\是一样的,C#中\\表示一个\ (转义)
------解决方案--------------------
1. "/image/" web服务器上虚拟路径网站根目录的image文件夹里的文件,这是绝对路径,去掉image前面的/是相对路径
2."~/image/" 与上类似
3."\image\" 本地文件路径
4."~\image\" 不知道
5.Server.MapPath("/image/") 与1相同
6.Server.MapPath("~/image/") 服务器根目录 
7Server.MapPath("\image\") 不知道
8.Server.MapPath("~\image\") 不知道
------解决方案--------------------
1. "/image/" 页面跳转 或者引用某个文件用到[根目录绝对路径]
2."~/image/" 同上,不过不一定是站点下的根目录
3."\image\" 打开某个文件 [c:\\image\\...]
4."~\image\" 同上
5.Server.MapPath("/image/") 文件所在服务器下的根目录 
6.Server.MapPath("~/image/") 同上
7Server.MapPath("\image\") 同上
8.Server.MapPath("~\image\") 同上

------解决方案--------------------
1. "/image/" web服务器上虚拟路径网站根目录的image文件夹里的文件,这是绝对路径,去掉image前面的/是相对路径 
2."~/image/" 这个貌似只有iis运行.net才认识吧!
3."\image\" 本地文件路径 编译不可通过
4."~\image\" 这个貌似没见过
5.Server.MapPath("/image/")取物理路径绝对目录
6.Server.MapPath("~/image/") 服务器根目录下的image文件夹物理路径
7Server.MapPath("\image\") ……
8.Server.MapPath("~\image\") ……
------解决方案--------------------
1. "/image/" 是指web服务器上虚拟路径网站根目录。
2. “~/image/” 这种只有Web 服务器控件才会使用。只要是Web 服务器控件<asp:Image /> 引用图片时都要加 ~ 。
3.如果 图片文件夹 和 页面 在同一个目录下
a、网页上的 html控件: <img src=”images/zhidao.gif“/>
b、服务器端控件:<asp:Image ImageUrl="~/images/zhidao.gif" />
如果 图片文件夹 和页面不在同一目录下(如:根目录 Web站点 下有一个imgaes图片文件夹、一个Imag文件夹,Imag文件夹中有一个显示图片网页)
这样就不直接同属同一个文件夹。
a、网页上的 html控件: <img src="../imges/zhidao.gif" /> 注意前面的 ../
b、服务器端控件:<asp:Image ImageUrl="~/images/zhidao.gif" /> 还是一样,对于服务器端没区别,有了 ~ 他会自动完成
4.对于以上 html控件 也可以直接使用绝对路径来处理。
Html控件使用src= " <%=ResolveUrl( "../images/zhidao.gif ") % > " 就行了。
------解决方案--------------------
1. "/image/" web服务器上虚拟目录下的image文件下的所有文件
2."~/image/" 这种只有Web 服务器控件才会使用,也表示web服务器上虚拟目录下的image文件下的所有文件
3."\image\" \在C#中表示转义,所以此时找不到正确的路径,如要表示\则应写成\\也就是说应该写成"\\image\\"还有一种写法就是@"\image\"
4."~\image\" 一般没有这种写法。
5.Server.MapPath("/image/") 返回与web服务器指定的虚拟路径所对应的物理文件路径,加入虚拟路径表示的物理文件路径是H:\lee,则它返回的路径就是H:\lee\image
6.Server.MapPath("~/image/")同上,此时无差别
7Server.MapPath("\image\") 会出现编译错误,原因\在C#中表示转义