asp.net中Server.MapPath的使用

非淡泊无以明志,非宁静无以致远。这篇文章主要讲述asp.net中Server.MapPath的使用相关的知识,希望能为你提供帮助。
http://www.studyofnet.com/news/184.html   本文导读:Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。作用是返回与Web服务器上的指定虚拟路径相对应的物理文件路径。其参数path为Web 服务器的虚拟路径,返回结果是与path相对应的物理文件路径。但有时参数并非为虚拟路径,而是用户自定义的文件名。Server.MapPath方法作用
MapPath方法用来返回与Web服务器上的指定虚拟路径相对应的物理文件路径。
语法
Server.MapPath(path);
参数
path表示Web服务器上的虚拟路径,如果path值为空,则该方法返回包含当前应用程序的完整物理路径。
注意事项
Server.MapPath()有时在程序调试时会提示“当前上下文中不存在名称“Server””错误,从而不支持函数Server.MapPath()的使用。尽管引用了命名空间“using System.Web; ”也是无济于事,此时就需要使用其全名,或者是当前使用Server.MapPath()函数的类继承自System.Web.UI.Page。
 
Server.MapPath()应用
假设当前的网站目录为E:\wwwroot 应用程序虚拟目录为E:\wwwroot\company 浏览的页面路径为E:\wwwroot\company\news\ 下面的一个 aspx页面。
在该页面中使用
Server.MapPath("") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("/") :返回应用程序根目录所在的物理文件路径:E:\wwwroot
Server.MapPath("./") :返回当前页面所在的物理文件路径:E:\wwwroot\company\news
Server.MapPath("../"):返回当前页面所在的上一级的物理文件路径:E:\wwwroot\company
Server.MapPath("~/"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
Server.MapPath("~"):返回应用程序的虚拟目录(路径):E:\wwwroot\company
 
ASP.NET中Server.MapPath() 和 Request.MapPath()使用区别:
Server.MapPath(string) :是将相对于当前调用文件的文件(或目录)映射为物理路径;

Request.MapPath(string) :是将string虚拟路径映射为物理路径(asp中Request无此方法)
Server.MapPath(string) 中string 可以用“../”方式引用父目录,甚至可以将此目录跳到整个WEB目录外,如:C:\WWWROOT
目录为WEB根目录,在根目录文件中调用此Server.MapPath("../脚本文件"),则可以调用WEB目录外的脚本、资源等。
【asp.net中Server.MapPath的使用】 Request.MapPath(string) 中的string为虚拟目录,只能相对WEB虚拟目录形式的,也不允许"../"方式调用,只能是"/","/xx"等字符串





    推荐阅读