asp.net 中级 虚拟路径

1.特殊路径标示“~”

和“/表示网站根目录(域名)、../表示上级目录、./表示当前目录”等Http标准定位不一样,~是ASP.NET定义的特殊符号,是asp.net内部进行定义推荐的用法,推荐资源定位都使用~从应用根目录开始定义。应用根目录和网站根目录的区别在于:如果将一个应用部署到http://www.xxxxx.com/search这个目录下,应用的根目录是“http://www.xxxxx.com/search”,网站的根目录是“http://www.xxxxx.com/”(不同的WebSite都是在同一个网站根目录下的),因此最好用“~”,“~”并不会被浏览器认,因此Asp.net会将这个路径转换为相对于网站的根目录的全路径在输出到浏览器。

2.编程处理“~”

如果在服务端控件中(使用runat=server的控件)会自动将“~”进行转换,如果在Html控件或者需要在代码中转换的话可以使用VirtualPathUtility类中的静态方法进行虚拟路径,全路径等的转换,比如VirtualPathUtility.ToAbsolute("~/a/b1.aspx")就是将虚拟路径转换为相对应于应用根的全路径,也就是WebSite/a/b1.aspx.

VirtualPathUtility类的主要方法:string
AppendTrailingSlash(string virtualPath);如果路径virtualPath最后没有“/”则添加;string
Combine(string basePath,string relativePath),将两个路径进行合并;string
GetDirectory(string virtualPath),返回虚拟路径的目录部分;string MakeRelative(string
fromPath,string toPath),计算两个虚拟路径的相对路径;ToAbsolute,转换为绝对路径。

asp.net 中级 虚拟路径,布布扣,bubuko.com

时间: 2024-08-09 19:47:21

asp.net 中级 虚拟路径的相关文章

ASP.Net 5 上传文件通过虚拟路径存储

先贴上代码 [HttpPost] public IActionResult ImportTeaching(IFormFile file) { string root = @"Temp/teachingfile/"; string phyPayh = evn.MapPath(root); if (file != null) { var parsedContentDisposition = ContentDispositionHeaderValue.Parse(file.ContentDi

虚拟路径波浪号~和斜杠/的区别

/是WebSite根目录,~/是ASP.NET Application根目录...两者是完全不同的概念. asp.net 对于"~/"的路径解析有些特别.它会搜索根目录下直到匹配到你指定目录为止. 比如: 虚拟目录映射: C:\inetpub\wwwroot\MySite 那么: "/" 对应 MySite 这个目录当你写 /1.jpg 的时候,那么Asp.net只会到 MySite 下找,即寻找 MySite/1.jpg 是否存在.当你写 ~/1.jpg 的时候,

ASP.NET MVC 中路径的解惑

很多人在写代码的时候关于路径这个问题很头疼,其实路径是很简单的,只是没人帮我们点投!初次学习程序的人,我相信肯定会遇到和我一样的问题,比如说,"/"和"~"引用路劲的区别,接下来看吧,这篇文章肯定会将你点透的,看完这篇文章你一定会有一种山重水复疑无路,柳暗花明又一村的感觉! [注:]博主微信:jkxx123321  欢迎各位朋友加我交流问题,探讨学习,本人现在全栈专研ASP.NET MVC 以及RN 1.关于路径: (1)绝对路径 包含站点路径的路径:<a h

Asp.Net 获取物理路径

一.AppDomain 1.AppDomin获取当前前程序域目录 2.不需要请求上线文实例,例如在Global.ascx中访问等 //网站物理目录 AppDomain.CurrentDomain.BaseDirectory //网站动态目录 AppDomain.CurrentDomain.DynamicDirectory 结果: 网站物理目录: E:\自开发控件\Pager\PageBar 网站动态目录: C:\Users\tianma\AppData\Local\Temp\Temporary

Server-U的虚拟路径设置及其优点

一,Server-U设置虚拟目录实现共享文件的配置 今天在用Server-U设置FTP服务器的时候,在虚拟路径设置这里出了点儿小问题,但是最终还是made it! 首先来看Server-u中的虚拟路径设置,我们先实现共享文件的功能,然后我们再去分析下虚拟路径的好处,因为这已经不是第一次碰到虚拟路径的使用问题了. 1,首先建立用户,这里我设置了任何人都可访问: 2,为了共享,我在用户的目录访问权限中添加了用户的主目录和用户要访问的"我的书籍"这个文件夹: 3,在域设置这里,将要共享的文件

ASP.NET中的路径(path) 详解

一 ASP.NET常用路径(path)获取方法与格式对照表 假设我们的网址为http://localhost:1897/ News/Press/Content.aspx?id=1019 跟 Browser Request 的网址相关的属性与方法 输出(output)实例 备        注 Request.ApplicationPath / 指的是当前的application(应用程序)的目录 Request.PhysicalPath D:\Projects\Solution\web\News

web虚拟路径

虚拟目录和虚拟路径没有直接关系,虚拟目录是一个独立的应用程序,简单的说就是一个网站如果没有设置虚拟目录,运行起来是一个独立的应用程序,只要不建立虚拟目录这个永远是一个,建立了虚拟目录就增加一个应用程序. 而且很多程序需要一个全局变量的文件,需要放到应用程序根目录下.例如 http://www.xxx.com/BBS这个地址,如果你放到网站主目录的bbs文件夹下,全局变量文件是不可用的,但是你可以建立一个bbs虚拟目录,把这个全局文件放到虚拟目录下是可以的:最典型的应用就是搜索引擎的机器人抓取文件

TOMCAT虚拟路径配置

在tomcat安装好后,只要把你的web项目copy到%TOMCAT_HOME%webapp下面就可以是使用啦!!其实还有种方法就是设定虚拟目录,即把项目的目录映射到tomcat中.这样做即可以不用重复的部署,节约时间,而且给开发人员带来方便.方法如下:1,找到%TOMCAT_HOME%/conf/server.xml,(即tomcat的安装目录下面相关的文件)打开此xml文件,在 <host> </host>之间加入如下代码: <Context path="&qu

Java_Web03基于虚拟路径的发布

1.例如文件的虚拟路径是D:/games/halo/firstWeb. 2.打开tomcat中的conf,再打开server.xml,找到Connector一行,Port指的就是端口号,默认为8080,可以进行修改 3.再找到Host一行,在Host里面添加代码: <Context path="(随便取一个名字,尽量是好记住的,在输入网址的时候用来代替虚拟路径的,此处用/haha代替)/haha" docBase="D:/games/halo/firstWeb.(要到W