虚拟路径的转换

<1>

在一般应用程序中使用server.MapPath 需要HttpContext.Current.Server.MapPath("c:/1.txt");这样写


 而在一般应用程序中使用Request.MapPath 只有context.Request.MapPath("c:/t.txt");这样就可以了。他们两个的效果是一样的,都是将虚拟路径转换成物理路径

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

public partial class 文件1_Default : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
    protected void Button1_Click(object sender, EventArgs e)
    {
        //将虚拟路径转换成磁盘上的物理路径: 输出:F:\我的资料库\WebSites\文件1\Default1.aspx  注:物理路径指的是某一台计算机本地的路径,以盘符开头
        //Response.Write(Server.MapPath("~/文件1/Default1.aspx"));

        //将"~/文件1/Default1.aspx"这个虚拟路径转换成应用程序的绝对路径:输出:/WebSites/文件1/Default1.aspx   注:在广域网中,以http开头的链接都是绝对路径
        Response.Write(VirtualPathUtility.ToAbsolute("~/文件1/Default1.aspx"));

        //将"~/文件1/Default1.aspx"这个虚拟路径转换成相对路径:输出:~/文件1/Default1.aspx    
        //Response.Write(VirtualPathUtility.ToAppRelative("~/文件1/Default1.aspx"));  

        //返回虚拟路径的目录部分:输出:~/文件1/    
        //Response.Write(VirtualPathUtility.GetDirectory("~/文件1/Default1.aspx"));

        //检索虚拟路径引用的文件的扩展名:输出:.aspx   
        //Response.Write(VirtualPathUtility.GetExtension("~/文件1/Default1.aspx"));  

        // 检索虚拟路径中引用的文件的文件名:输出:Default.aspx   
        //Response.Write(VirtualPathUtility.GetFileName("~/文件1/Default1.aspx"));  

        //返回一个布尔值,该值指示指定的虚拟路径是否为绝对路径,也就是以正斜杠 (/) 开头: 输出:False 
        //Response.Write(VirtualPathUtility.IsAbsolute("~/文件1/Default1.aspx"));  

        //返回一个布尔值,该值指示指定的虚拟路径是否为相对于应用程序的相对路径:  输出:True  
        //Response.Write(VirtualPathUtility.IsAppRelative("~/文件1/Default1.aspx"));  




        //返回从一个包含根操作符(代字号 [~])的虚拟路径到另一个此类虚拟路径的相对虚拟路径: 输出: ../%E6%96%87%E4%BB%B62/Default2.aspx  注:【%E6%96%87%E4%BB%B62】其实就是"文件2"的意思,通过下面的解码可以看到效果
        //Response.Write(VirtualPathUtility.MakeRelative("~/文件1/Default1.aspx", "~/文件2/Default2.aspx"));  

        //Response.Write(Server.UrlDecode("~/文件1/Default1.aspx"));
        //Response.Write(Server.UrlDecode(VirtualPathUtility.MakeRelative(Server.UrlDecode("~/文件1/Default1.aspx"), Server.UrlDecode("~/文件2/Default2.aspx"))));  //输出: ../文件2/Default2.aspx 




        // 将正斜杠 (/) 追加到虚拟路径的末尾(如果尚不存在正斜杠,如果已经存在就不用加了): 输出:~/文件1/Default1.aspx/    
        //Response.Write(VirtualPathUtility.AppendTrailingSlash("~/文件1/Default1.aspx"));  

        //从虚拟路径去除末尾的正斜杠 (/): 输出:~/文件1/Default1.aspx   
        //Response.Write(VirtualPathUtility.RemoveTrailingSlash("~/文件1/Default1.aspx/"));  

    }
}


 
 


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值