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

/ 表示网站根目录(从域名开始), ../ 表示上级目录, ./表示当前目录
~ 是ASP.NET定义的特殊符号,是ASP.NET内部进行定义推荐的用法,~代表从应用根目录开始定义
应用根目录与网站根目录的区别:将网站部署到http://xgao.com/test 这个目录,
应用根目录是 http://xgao.com/test ,网站根目录是 http://xgao.com/ ,可创建WebSite进行演示
注意:~只有服务器来认,HTML是不认的,所以 <a href=""> 是用不了的,只有 HyperLink 服务端的超连接才能用

编程处理 "~"
如果在服务端控件中(使用runat=server的控件)会自动将"~"进行转换,如果在HTML控件或者需要在代码中
转换的话可以使用VirtualPathUtility类中静态方法进行 虚拟路径,全路径 等的转换

  VirtualPathUtility.ToAbsolute("~/a/b.apsx");    //将虚拟路径转换为相对于应用根的全路径
  VirtualPathUtility.AppendTrailingSlash("~/a/b");//判断是否以 / 结尾,如果不是则加上
  VirtualPathUtility.Combine("~a/b/","c.txt");    //合并路径
  VirtualPathUtility.GetDirectory("~/a/b.txt");   //获得路径的目录部份
原文地址:https://www.cnblogs.com/xgao/p/4174005.html