路径的写法
来源:互联网 发布:淘宝人气店铺 编辑:程序博客网 时间:2024/06/05 09:16
C#文件路径的写法
路径有3种方式,当前目录下的C#文件相对路径、当前工作盘的C#文件相对路径、绝对路径。以C:\Tmp\Book为例(假定当前工作目录为C:\Tmp)。“Book”,“\Tmp\Book”,“C:\Tmp\Book”都表示C:\Tmp\Book。
另外,在C#中 “\”是特殊字符,要表示它的话需要使用“\\”。由于这种写法不方便,C#语言提供了@对其简化。只要在字符串前加上@即可直接使用“\”。所以上面的路径在C#中应该表示为“Book”,@“\Tmp\Book”,@“C:\Tmp\Book”。
(1)HTML相对路径与绝对路径
相对路径
同一个目录的文件引用
如果源文件和引用文件在同一个目录里,直接写引用文件名即可,这时引用文件的方式就是使用相对路径。
我们现在建一个源文件info.html,在info.html里要引用index.html文件作为超链接。
假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/index.html
在info.html加入index.html超链接的代码应该这样写:
<a href = "index.html">这是超连接</a>
如何表示下级目录
../表示源文件所在目录的上一级目录,http://www.cnblogs.com/表示源文件所在目录的上上级目录,以此类推。
<a href = "http://www.cnblogs.com/index.html">index.html</a>
假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/wowstory/index.html
在info.html加入index.html超链接的代码应该这样写:
<a href = "../wowstory/index.html">index.html</a>
如何表示下级目录
引用下级目录的文件,直接写下级目录文件的路径即可。
假设info.html路径是:c:/Inetpub/wwwroot/sites/blabla/info.html
假设index.html路径是:c:/Inetpub/wwwroot/sites/blabla/html/tutorials/index.html
在info.html加入index.html超链接的代码应该这样写:
<a href = "html/tutorials/index.html">这是超连接</a>
绝对路径
例如只要看到这个路径:c:/website /img/photo.jpg我们就知道photo.jpg文件是在c盘的website目录下的img子目录中。
而在网站中类似以http://www.ajaxstu.com/img/photo.jpg来确定文件位置的方式也是绝对路径。
(2)文件路径中的/和\的区别
没有本质的区别
“\”是用在系统上,而“/“一般是用在网络上
但是由于 \ 也是转义字符的起始字符,所以,路径中的 \ 通常需要使用 \\,如果是 / 就不需要使用转义了
使用网站资源时,需要经常使用资源路径。比如,在页面中使用 URL 引用不同路径中的图片文件。类似地,Web 应用代码也可能使用物理文件路径来读写服务器端的文件。ASP.NET 提供不同的方法来引用资源并确定页面或其他资源的路径。
指定资源路径
ASP.NET 允许开发者通过多种方式引用页面元素或控件的外部资源文件。选择方式区别于客户端元素或服务器控件的类型。
客户端元素
页面中非服务器控件直接发送给浏览器。在此前,需要依照标准 HTML URL 规则构造用于客户端元素的资源引用路径。也可以使用完整(绝对)URL 路径或别的相关路径。比如 img
标记,可以将 src
属性设置成以下任何一种形式:
绝对 URL 路径:
<img src="http://www.contoso.com/MyApplication/Images/SampleImage.jpg" />
绝对 URL 路径适用于引用对其他网站的资源。
根目录相对路径针对网站(非应用程序)根目录进行解析。下例假设网站根目录存在 Images 目录:
<img src="/Images/SampleImage.jpg" />
如果网站地址是 http://www.contoso.com,上例中的路径将解析成:
http://www.contoso.com/Images/SampleImage.jpg
根目录相对路径适用于引用跨应用程序资源(图片或客户端脚本文件)。
相对路径针对当前路径进行解析:
<img src="Images/SampleImage.jpg" />
相对路径会解析成当前页面路径。
<img src="../Images/SampleImage.jpg" />
注意:默认时,浏览器参考当前页面的 URL 来解析相对路径。然而,使用 HTML 的
base
元素可以进行更换。
服务器控件
可以使用与客户端元素相同的方式指定 ASP.NET 服务器控件的资源引用路径。相对路径的解析会以当前页面,用户控件,或主题文件路径作为参照。比如,Controls 目录有一个用户控件,包含 ImageUrl
属性被设置成如下路径的 Image
Web 控件:
Images/SampleImage.jpg
用户控件运行时,路径被解析成如下所示:
/Controls/Images/SampleImage.jpg
不用考虑使用该用户控件的页面路径。
在服务器控件中引用绝对路径或相对路径有下列缺点:
绝对路径无法在应用程序间移植。有造成所有链接中断的隐患。
客户端元素的相对路径在资源或页面移动时加大维护难度。
为了克服这些缺点,ASP.NET 使用了新 Web 根目录符号(~),用于设置服务器控件的路径。ASP.NET 将符号 ~ 解析成当前应用程序的根目录。可以用符号 ~ 与目录一道来指定基于当前根目录的路径。下例使用了符号 ~ 为服务器控件 Image
指定相对路径。
<asp:image runat="server" id="Image1" ImageUrl="~/Images/SampleImage.jpg" />
上例中的图片文件将会从网站根目录下的 Images 目录中读取,且当前页面可以放在网站的任何位置。
说明:符号 ~ 仅适用于服务器端代码的服务器控件。不能在客户端元素中使用。
服务器控件中任何与路径有关的属性都可使用符号 ~。
注意:在模板页中,对资源路径的解析是基于内容页面的。
确定当前网站的物理路径
应用程序中,可能需要确定服务器文件或资源的路径。比如,当应用程序要对一个文本文件进行读写,就需要为读取和写入功能提供目标文件的物理路径。
在应用程序中使用硬编码的物理路径(如 C:\Webste\MyApplication)并不是一个好的习惯,且路径会随着文件的移动或布署而发生变化。这时候可以通过基点参考的方法来为资源创建完整路径。ASP.NET 中常用来确定文件路径有两个方法:HttpRequest
对象属性,以及 MapPath
方法。
注意:为防止恶意用户获取应用程序的机密信息,请不要将物理文件路径发送到客户端。
从 Request
对象的属性中确定路径
下表是 HttpRequest
对象的属性列表,可用来确定应用程序中的资源路径。
首先,假设用浏览器发送如下请求:
http://www.contoso.com/MyApplication/MyPages/Default.aspx
在本文的例子中,对“虚拟路径”的参考都将服务器标识作为 URI 的一部分;而本例中的虚拟路径则是这样:
/MyApplication/MyPages/Default.aspx
另外,还假设网站根目录的物理路径如下:
C:\inetpub\wwwroot\MyApplication\
最后,还假设物理路径中包含子目录 MyPages。
ApplicationPath
获取当前应用程序根目录,无需考虑请求发生的位置。本例中的返回值如下:
/
CurrentExecutionFilePath
获取当前请求的虚拟目录。与 FilePath
不同是请求被代码重定向时CurrentExecutionFilePath
属性仍然返回正常值。本例中的返回值如下:
/MyApplication/MyPages/Default.aspx
如果在代码中作为 Transfer
或 Execute
的执行结果而获取该参数,参数中会反射代码文件的路径。
FilePath
获取当前请求的虚拟路径。本例中的返回值如下:
/MyApplication/MyPages/Default.aspx
与 CurrentExecutionFilePath
不同,FilePath
不反射服务器端的传送(调用 Transfer
方法)信息。
Path
获取当前请求的虚拟路径。本例中的返回值如下:
/MyApplication/MyPages/default.aspx
PhysicalApplicationPath
获取当前执行的应用程序根目录的物理路径。本例中的返回值如下:
C:\inetpub\wwwroot\
PhysicalPath
获取当前 URI 请求对应的物理系统文件路径。本例中的返回值如下:
C:\inetpub\wwwroot\MyApplication\MyPages\default.aspx
使用 MapPath
方法
MapPath
方法以参数的方式接收虚拟路径,并返回对应的物理路径。在本例中,下面的代码返回网站根目录文件的物理路径:
String rootPath = Server.MapPath("~");
注意:传递给 MapPath
方法的路径必须是相对路径,不能使用绝对路径。
- 路径的写法
- 路径的写法
- 相对路径的写法
- 访问路径的写法
- 注册表中路径的写法
- iOS下的路径写法
- php相对路径的写法
- C#文件路径的写法
- C++文件路径的写法
- C#文件路径的写法
- JavaWeb中路径的写法
- net环境下相对路径的写法
- js css 相对路径的写法
- android 一些路径的标准写法
- asp.net路径的两种写法
- android 一些路径的标准写法
- Java 文件路径的不同写法
- android 一些路径的标准写法
- 函数指针和回调函数
- 2013年五大主流浏览器 HTML5 和 CSS3 兼容性大比拼
- perl中重要的几个命令行参数
- 如何跟踪调试Android的源码
- win32 查找注册表找网卡
- 路径的写法
- Android permission 访问权限大全
- 在eclise与Maven进行junit单元测试无法自动编译
- PC之间的git仓库同步
- Unity大型地图切割
- [android ui]ListView有多种Item View的优化
- java知识积累
- java知识点总结之四修饰符与类的成员
- ios view的frame和bounds之区别(位置和大小)