对于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文件夹中。

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

本地链接和服务器链接

由于HTML网页是被传递到客户端计算机上运行,所以要特别注意链接路径。因为既可以链接到客户端计算机上的资源,也可以连接到网络服务器上的资源。例如,当位于服务器上的某个网页想链接到服务器上的另一个资源,假设该资源是 c:/test/root/form.html,位于服务器上。那么可以这样定义链接:

  1. <span style="font-size:14px;">    <a href="协议名://主机名/form.html">绝对地址链接到form</a>
  2. <a href="相对路径/form.html">相对地址链接到form</a></span>

而不能这样:

  1. <span style="font-size:14px;"><a href="file://c:/test/root/form.html">链接到form</a></span>

当该网站的访问者单击该链接时,浏览器将尝试访问其各自计算机上的file://c:/test/root/form.html,通常会看到错误消息。这样做实际是将链接指向本地计算机上的一个文件,而不是服务器上的一个文件,因为最终被传送到本地计算机上运行。

综上,在传统Web开发中一共有四种路径表示方式(下面以图片路径为例):

  • 直接以URL表示,如:
  1. <span style="font-size:14px;"><img src="http://</span><a target="_blank" href="http://www.Test.com/images/cat.jpg'/"><span style="font-size:14px;">www.Test.com/images/cat.jpg"/</span></a><span style="font-size:14px;">></span>
  • 以相对于当前网页的形式表示,如:
  1. <span style="font-size:14px;"><img src="data:images/cat.jpg"/>
  2. </span>
  • 以相对于网站根路径的方式表示,用于客户端,如:
  1. <span style="font-size:14px;"><img src="/images/cat.jpg"/>
  2. </span>
  • 以当前页面路径对等的路径形式表示,如:
  1. <span style="font-size:14px;"><img src="../images/cat.jpg"/>
  2. </span>

在ASP.NET中还有一种只能用于服务器控件上或者服务器代码里的表示形式,那就是“~”路径表示符,它的功能是无论页面位于网站中的什么位置,都将从位于 Web 应用程序根目录下的 images 文件夹中直接读取图像文件。如:

    1. <span style="font-size:14px;"><asp:Image ID="Image1" runat="server" ImageUrl="~/images/cat.jpg" /></span>

ASP.NET路径解惑的更多相关文章

  1. ASP.net 路径问题 详解

    各位有没有碰到在日常工作中经常在路径设置的时候把 "~/ ../ .../ . / .http://www.cnblogs.com/"这些符号搞混搞乱了?偶尔还会因路径的问题郁闷了 ...

  2. asp.net路径问题

    -------------初级篇---------------------------------------- 在一般的href中路径的引用问题   ./index.aspx与index.aspx都 ...

  3. ASP.NET SessionState 解惑

    踩坑 近日在对一个ASP.NET WEBFORM项目进行调优过程中,偶然发现页面POSTBACK事件是串行处理的,甚至不同页面的请求都是串行处理的(一个页面加载完毕后,才开始加载第二个页面).但是网站 ...

  4. asp.net绝对与相对路径

    对于asp.net 路径的问题,闲心有很多人和我一样,只是知道一点,理解并不深刻.下面我就来整理一下相路径和绝对路径的知识. 绝对路径: 每个网页都有一个唯一的地址,它就是该网页的绝对路径.绝对路径提 ...

  5. Fckeditor PHP/ASP File Upload Vul

    目录 . 漏洞描述 . 漏洞触发条件 . 漏洞影响范围 . 漏洞代码分析 . 防御方法 . 攻防思考 1. 漏洞描述 FCKeditor是目前最优秀的可见即可得网页编辑器之一,它采用JavaScrip ...

  6. 当你的IIS需要运行ASP网站时,需要这样配置下你的IIS

    1.进入Windows 7的 控制面板->程序和功能->选择左上角的 打开或关闭Windows功能 2.现在出现了安装Windows功能的选项菜单,注意选择的项目,红色箭头所示的地方都要选 ...

  7. 64位Win7下运行ASP+Access网站的方法

    64位Win7下运行ASP+Access网站的方法 近日系统升级为WIN7 64位之后,突然发现原本运行正常的ASP+ACCESS网站无法正常连接数据库. 网上搜索多次,终于解决了问题,总结了几条经验 ...

  8. IIS7.5 asp+access数据库连接失败处理 64位系统

    IIS7.5 asp+access数据库连接失败处理(SRV 2008R2 x64/win7 x64) IIS7.5不支持oledb4.0驱动?把IIS运行模式设置成32位就可以了,微软没有支持出64 ...

  9. Win7/Win8/IIS7/IIS8配置ASP/ACCESS

    1.在IIS信息服务管理器配置好站点后,配置ASP属性: a.IIS启用ASP 1.打开控制面板>>程序和功能>>“打开或关闭windows功能”,见下图 2.稍等片刻,出现一 ...

随机推荐

  1. 分享js中 pageY = clientY + document.body.scrollTop 之间的关系

    //这里没有考虑兼容ie模式下 兼容一般主流浏览器 var $1 = document.getElementById('main') $1.onclick = function(e){ console ...

  2. 基于SIFT的点云关键点提取

    这篇博文主要介绍SIFT算法在提取点云图像关键点时的具体用法. 尺度不变特征转换(Scale-invariant feature transform,SIFT)是David Lowe在1999年发表, ...

  3. Ubuntu16.04+Gnome3 锁定屏幕快捷键无效解决办法

    Ubuntu16.04 桌面环境通过Ubuntu server和后安装的Gnome3 桌面环境实现,安装完以后发现锁定屏幕快捷键无效,系统设置=>键盘=>快捷中 锁屏快捷键已经存在Supe ...

  4. 解决电信或网通的DNS劫持

    大家有没有碰到访问一些不存在域名或者网站时,浏览器本应显示一个网址不存在之类的信息,但是因为现在很多ISP做了DNS劫持将不存在的域名或网址重定向到ISP的广告页面,烦人的狠.其实tomato可以解决 ...

  5. Hexo 添加自定义的内置标签

    灵感 想设计一个记录自已骑行的页面,显示时间.地点.路线图等信息.方便以后做一些留念.定位想实现下面类似的效果.参考:<特效>      实现方案也比较简单,反键查看源码.直接Copy,在 ...

  6. 【转】Flash AS3.0 中的自定义事件

    原文 http://www.cnblogs.com/acpp/archive/2010/10/19/1855670.html package { import flash.events.Event; ...

  7. Jsp学习总结(1)——JSP九大内置对象和四种属性范围解读

    一.四种属性范围 1.1.在JSP中提供了四种属性保存范围 page:在一个页面内保存属性,跳转之后无效 request:在一次服务请求范围内,服务器跳转后依然有效 session:-在一次会话范围内 ...

  8. [Python] Execute a Python Script

    Python scripts can be executed by passing the script name to the python command or created as execut ...

  9. TRIZ系列-创新原理-31-多孔材料原理

    多孔材料原理的详细描写叙述例如以下:1)让物体变成多孔的.或者使用辅助的多孔部件(如插入,覆盖):2)假设一个物体已经是多孔了,那么事先往里面填充某种物质:这个原理提出的原因是,一般机械系统通常都是由 ...

  10. Supermap 组合单值专题图与标签专题图演示样例

    效果图例如以下:单值专题图并显示每一个区域的相关文字信息 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvc29uZ2hmdQ==/font/5a6L5L2T ...