对于asp.net 路径的问题,闲心有很多人和我一样,只是知道一点,理解并不深刻。下面我就来整理一下相路径和绝对路径的知识。

绝对路径:

每个网页都有一个唯一的地址,它就是该网页的绝对路径。绝对路径提供所链接文档的完整URL,而且包括所使用的协议(例如对于网页,通常使用HTTP)。例如上面的第一种写法就是一个绝对路径(虽然是一个不存在的地址)。

必须使用绝对路径才能链接到其他服务器上的文档。尽管对本地链接(即到同一站点内文档的链接)也可以使用绝对路径链接,但不建议采用这种方式,因为一旦将此站点易懂到其他域,则所有本地绝对路径链接都将断开。

当需要在站点内移动文件时,对本地链接使用相对路径还能提供更大的灵活性。

相对路径:

文档相对路径对于大多数Web站点的本地连接来说,是最适用的路径。在当前文档与所链接的文档处于同一文件夹内,而且可能保持这种状态的情况下,文档相对路径特别有用。文档相对路径还可用来链接到其他文件夹中的文档,方法是利用文件夹层次结构,制定从当前文档到所链接的文档的路径。

   文档相对路径的基本思想是省略掉对于当前文档和所链接的文档都相同的绝对URL部分,而只是提供不同的路径部分。例如,假设一个文档集合的结构如图所示:

如果要创建从booklist1.html到其他文件的链接,应注意以下问题:

① 若要从booklist1.html连接到booklist2.html(两个文件在同一文件夹中),文件名就是相对路径:booklist2.html。

② 若要链接到book001.html,(在booksDetail的子文件夹内)可使用相对路径:booksDetail/book001.html。每个正斜杠(/)表示在文件夹层次结构中下移一级。

③ 若要链接到main.html(在父文件夹中,booklist1.html向上一级),可使用相对路径: ../main.html。每个../表示在文件夹层次结构中上移一级。

④ 若要链接到index.html(在父父文件夹中,booklist1.html向上两级),可使用相对路径: ../../index.html。 

⑤ 若要链接到header.html(在父父文件夹的其他子文件夹中),可使用相对路径: ../../shared/header.html。

其中../../向上移至父父文件夹;shared/向下移至shared文件夹中。

  若要成组地移动一组文件,例如移动整个文件夹时,该文件夹内所有文件保持彼此间的相对路径不变,此时不需要更新这些文件间的文档相对链接。但是,当移动含有文档相对链接的单个文件或者移动文档相对链接所连接到的单个文件时,则必须更新这些链接。

版权声明:本文为博主原创文章,未经博主允许不得转载。

asp.net绝对与相对路径的更多相关文章

  1. Asp.Net Core Web相对路径、绝对路径整理

    一.相对路径 1.关于Asp.Net Core中的相对路径主要包括两个部分:一.Web根目录,即当前网站的目录为基础:二.内容目录wwwroot文件夹,对于静态文件都放在这个目录. 2.获取控制器,A ...

  2. ASP.NET中的特殊路径标识"~"

    / 表示网站根目录(从域名开始), ../ 表示上级目录, ./表示当前目录- 是ASP.NET定义的特殊符号,是ASP.NET内部进行定义推荐的用法,-代表从应用根目录开始定义应用根目录与网站根目录 ...

  3. asp.net中的绝对路径和相对路径

    一.关于相对路径和绝对路径相对路径转绝对路径一般,我们在ASP.NET网站中往往需要把一个相对路径转化为绝对路径.通常是用Server.MapPath()方法.比如网站根目录下有 个"Upl ...

  4. asp.net获取文件绝对路径

    一般我们在asp.net中使用HttpContext.Current.Request.MapPath或者 HttpContext.Current.Server.MapPath来获取文件的绝对路径, p ...

  5. ASP.NET获取网站根目录(路径)

    摘自: http://blog.sina.com.cn/s/blog_7d0dcba60100vb7r.html 网站在服务器磁盘上的物理路径: HttpRuntime.AppDomainAppPat ...

  6. Asp.net获取网站绝对路径的几种方法

    在编写ASP.NET应用程序的时候,有时候为了更好的进行控制静态文件的路径,以及网站部署过程中的虚拟路径等问题,采用绝对路径避免资源出现Not Found,下面先看看几种获取绝对路径的方法: 1. 以 ...

  7. 【转载】Asp .Net Web Api路由路径问题

    原文章地址:https://www.cnblogs.com/devtester/p/8897302.html MVC也好,WebAPI也好,据我所知,有部分人是因为复杂的路由,而不想去学的.曾经见过一 ...

  8. asp.net获取服务器绝对路径和相对路径

    绝对路径 AppDomain.CurrentDomain.SetupInformation.ApplicationBase 相对路径 Server.MapPath("~/")表示当 ...

  9. asp.net 获取当前项目路径

    方法一://获取当前项目的路径System.AppDomain.CurrentDomain.BaseDirectory.ToString();   // 得到的是当前项目的根目录取的值:F://Pro ...

随机推荐

  1. http介绍

    1.http特点: 1>简单快捷: 2>灵活: 3>支持客户端.服务器结构: 4>无连接----无连接的含义是限制每次连接只处理一个请求: 5>无状态----无状态是指协 ...

  2. KS(Kolmogorov-Smirnov)(转)

    来源:https://blog.csdn.net/u013421629/article/details/78217498 KS(Kolmogorov-Smirnov):KS用于模型风险区分能力进行评估 ...

  3. php 学习try_catch测试抛出异常

    /** * Class show * 一个catch接收抛出异常 */ class show { // 错误的演示 //try { //require ('test_try_catch.php'); ...

  4. MySQL JDBC驱动下载

    下载地址:https://pan.baidu.com/s/1VLNaV_rz2P1jMtYrjJydiQ

  5. 浅谈BeanUtils的拷贝,深度克隆

    1.BeanUtil本地简单测试在项目中由于需要对某些对象进行深度拷贝然后进行持久化操作,想到了apache和spring都提供了BeanUtils的深度拷贝工具包,自己写了几个Demo做测试,定义了 ...

  6. C语言获取输入,按单词输出

    #include <stdio.h> #include <stdlib.h> int main(int argc,char *argv[]) { int num; printf ...

  7. google的面试题(三维动态规划的范例)——(87)Scramble String

    转:http://www.cnblogs.com/easonliu/p/3696135.html 分析:这个问题是google的面试题.由于一个字符串有很多种二叉表示法,貌似很难判断两个字符串是否可以 ...

  8. Eolinker——前置用例返回的reponse值进行传递

    如下补充均是Eolinker的文档中未说明的部分 示例:将login接口reponse中的mobile的值作为参数,传递给”重置密码”的请求体“code" 1.打开”前置用例“,先点击左上角 ...

  9. [你必须知道的.NET]第十九回:对象创建始末(下)

    本文将介绍以下内容: 对象的创建过程 内存分配分析 内存布局研究 接上回[第十八回:对象创建始末(上)],继续对对象创建话题的讨论>>> 2.2 托管堆的内存分配机制 引用类型的实例 ...

  10. CentOS7中开机出现end_request:I/O error,dev fd0,sector 0的解决办法

    https://blog.csdn.net/wangjinyang_123/article/details/40583635