Mvc示例之六---bs软件的路径
来源:互联网 发布:天龙八部清风怡江美工 编辑:程序博客网 时间:2024/06/05 13:48
相对路径与绝对路径
相对路径是相对于文件或文件夹当前路径而言,绝对路径则是从路径的根部到达目标文件。
举个例子:
C:\Windows\Microsoft.NET\Framework文件夹下面有一个文件:sbs_microsoft.jscript.dll,而C:\Windows\Microsoft.NET\Framework\v3.5文件夹下面有一个文件csc.exe。
我们通过sbs_microsoft.jscript.dll所在的文件夹找到csc.exe所在的文件夹可以有相对路径与绝对路径两种方式。如果用相对路径C:\Windows\Microsoft.NET\Framework\v3.5这个文件夹则应该表示为:.\v3.5,绝对路径则表示为C:\Windows\Microsoft.NET\Framework\v3.5。理解相对路径时要找一个参照路径,而绝对路径则不必。在此,我们的参照路径是:C:\Windows\Microsoft.NET\Framework。
描述相对路径是有两个概念很有用,当前路径与父路径。当前路径用句点”.”来表示,父路径则用两个句点”..”表示。如上边实例,相对于C:\Windows\Microsoft.NET\Framework\v3.5,C:\Windows\Microsoft.NET\Framework\路径用相对路径表示为..\。也可以表示为.\..\,.\省略是可以的。那么,相对于C:\Windows\Microsoft.NET\Framework\v3.5路径C:\Windows\路径表示为..\..\..\。第一层父路径到C:\Windows\Microsoft.NET\Framework(..\),第二层到C:\Windows\Microsoft.NET(..\..\),第三层到C:\Windows(..\..\..\)。
绝对路径与相对路径的用处:既然绝对路径理解起来简单,那么为什么要用相对路径呢?因为程序的运行环境是变动的。比如某个程序原来在c:\temp\abc这个路径下运行,他要打开c:\temp\abc\a.txt。如果用绝对路径,要用c:\temp\abc\a.txt表示。如果我现在把程序拷贝到了c:\temp2,那么a.txt的绝对路径就变成了c:\temp2\a.txt。这个时候是否要更改程序呢?有一种方法是找到程序的运行路径。另一种方法则可以直接用行对路径 a.txt或者.\a.txt。岂不是很简单?
BS软件路径
在BS软件中也有绝对路径与相对路径的概念。在Asp.net中要表示根路径有两个不同的概念:
“/”与”~/”。这两个写法有什么区别呢?
/ 表示网站的根路径
~/ 表示应用程序的根路径
我们架设如下一个网站:
图一、IIS网站
对于admin应用程序,假设他的主页是Default.aspx,那么该文件的绝对路径是
http://localhost/admin/Default.aspx,用 “/”表示http://localhost “~/”则表示http://localhost/admin 。要表示文件,需要用这两个根路径来表示。如上述Default.aspx可以表示为“~/Default.aspx”或者”/admin/Default.aspx”。如果我们要表示图中admin应用程序下面的文件最好用”~/”这个根路径。而如果我们要表示Django这个应用程序或者根网站下面的文件就要用“/” 这个根路径。
而如果admin 这个应该程序的文件夹下面的文件夹 Content下面有 css 与 images 这两个文件夹如下图:
图二、文件夹示例
假设我们在/admin/Content/css下面有一个文件叫做Sites.css文件,他要引用images文件下面的图片 abc.gif应该怎样写呢?
可以这样写:../images/abc.gif 。对这个路径解析一下:.当前路径为/admin/Content/css。../表示./的上层路径 /admin/Content ;../Images/ 表示/admin/Content/images,最后填写上文件名:abc.gif。
最后总结一下,在文件中引用其他文件,一定相对于本文件所在的路径;即使这个文件被其他文件应用。(此段错误)
上次发布本博客时,出现了错误。其实css文件被认为是一个独立的文件,而js文件则是一个引入文件。因此css文件引用其他文件时,路径相对于css文件所在路径来引用。而js文件在写其他文件路径时,则是相对于aspx等主文件路径而言。比如Sites.css可能被Default.aspx引用,那么Sites.css要引用图片文件也是相对于sites.css所在的路径。在此例中,js写文件路径时,要相对于Default.aspx所在路径进行引用。
上面的abc.gif用绝对路径怎么表示:/admin/Content/images/abc.gif ~/Content/images/abc.gif。
Mvc路径的特殊之处
在mvc中应用~/相对路径时,需要进行一下转换
如下:
<script src="@Url.Content("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
或者可用用
<script src="@Href("~/Scripts/jquery-1.7.2.min.js")" type="text/javascript"></script>
这两种写法都是可以的。
而Mvc在表示一个action方法的路径时可以用两种方式。
如果两个页面在同一个Controller下面,可以用@Url.Action(“Actionname”) 表示。而如果两个页面不在同一个controller下面,则要用@Url.Action(“actionname”,”controller name”)表示了。
好了,本节就讲到这里。Mvc示例系列就讲完了。- Mvc示例之六---bs软件的路径
- BS下的MVC架构
- SQL脚本积累之六-----游标的使用示例
- 基于mvc模式的应用框架之Hibernate(六)
- JAVASCRIPT的MVC示例
- 软件工程之六 软件编码
- STL学习之六:queue用法示例
- 设计模式之CS和BS结构的区别
- 设计模式之CS和BS结构的区别
- 设计模式之CS和BS结构的区别
- Spring MVC学习之六:拦截器
- SpringMVC之MVC模型(六)
- 软件测试-掌握有效测试软件的方法与技术之六
- spring mvc基础篇(六):Spring mvc之拦截器
- 数据结构图之六(关键路径)
- Mvc示例前端框架之BootStrap
- Java web----MVC之简单示例
- 软件测试六:软件测试的模型
- Struts2与Spring结合的jar包
- 【NOIP 2010】 引水入城
- 使用Eclipse构建Maven项目 (step-by-step)
- AdMob demo code.
- POJ 2453二进制又一重要用法
- Mvc示例之六---bs软件的路径
- oracle
- 关于java类的初始化过程
- android错误之解析包时出现问题(一)
- hdu 2647 Reward 拓扑排序
- mysql中order by优化的那些事儿
- nextSibling和previousSibling中浏览器的兼容问题
- hdu 4443 Lost
- Newton迭代法例题