1. 程式人生 > >asp.net中Server.MapPath的使用

asp.net中Server.MapPath的使用

.com ring http tpc div asp.net span net 存在

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目錄外的腳本、資源等。

Request.MapPath(string) 中的string為虛擬目錄,只能相對WEB虛擬目錄形式的,也不允許"../"方式調用,只能是"/","/xx"等字符串

asp.net中Server.MapPath的使用