Server.MapPath()
1.Server.MapPath()介紹
Server.MapPath(string path)作用是返回與Web伺服器上的指定虛擬路徑相對應的物理文件路徑。其參數path為Web伺服器的虛擬路徑,返回結果是與path相對應的物理文件路徑。但有時參數並非為虛擬路徑,而是用戶自定義的文件名。
Server.MapPath()的全名是System.Web.HttpContext.Current.Server.MapPath()。有時在程序調試時會提示「當前上下文中不存在名稱「Server」」錯誤,從而不支持函數Server.MapPath()的使用。儘管引用了命名空間「using System.Web;」也是無濟於事,此時就需要使用其全名,或者是當前使用Server.MapPath()函數的類繼承自System.Web.UI.Page。
2.Server.MapPath()應用
Server.MapPath(""):返回當前頁面所在的物理文件路徑
Server.MapPath("/"):返回應用程序根目錄所在的物理文件路徑
Server.MapPath("./"):返回當前頁面所在的物理文件路徑
Server.MapPath("../"):返回當前頁面所在的上一級的物理文件路徑
Server.MapPath("~/"):返回應用程序的虛擬目錄(路徑)
Server.MapPath("~"):返回應用程序的虛擬目錄(路徑)
./當前目錄/網站主目錄../上層目錄~/網站虛擬目錄如果當前的網站目錄為E:wwwroot應用程序虛擬目錄為E:wwwrootcompany瀏覽的頁面路徑為E:wwwrootcompanyewsshow.asp在show.asp頁面中使用Server.MapPath("./")返迴路徑為:E:wwwrootcompany
ewsServer.MapPath("/")返迴路徑為:E:wwwrootServer.MapPath("../")返迴路徑為:E:wwwrootcompanyServer.MapPath("~/") 返迴路徑為:E:wwwrootcompanyserver.MapPath(request.ServerVariables("Path_Info"))Request.ServerVariables("Path_Translated")上面兩種方式返迴路徑為D:wwwrootcompany
ewsshow.asp
1、Server.MapPath("/") 應用程序根目錄所在的位置 如 C:Inetpubwwwroot 2、Server.MapPath("./") 表示所在頁面的當前目錄 註:等價於Server.MapPath("") 返回 Server.MapPath("") 所在頁面的物理文件路徑 3、Server.MapPath("../")表示上一級目錄 4、Server.MapPath("~/")表示當前應用級程序的目錄,如果是根目錄,就是根目錄,如果是虛擬目錄,就是虛擬目錄所在的位置 如 C:InetpubwwwrootExample
Response.Write(Request.PhysicalApplicationPath.ToString());Response.Write(Server.MapPath("mydb.mdb").ToString());
經過實驗,我發現:Request.PhysicalApplicationPath.ToString()是你的網站所在的目錄 ,比如我的就是F:fqhtdocs,而這個地址不管你的網頁在哪個子文件夾里,都是一樣的。
Server.MapPath("mydb.mdb").ToString() 是你的網頁所在的文件夾再加上參數字元串,而不管這個參數字元串是什麼,存在不存在 比如我在qiye子文件夾里放了一個1/aspx文件,其中有這樣一句:Response.Write(Server.MapPath("mydb.mdb").ToString());試驗出來的值是:F:fqhtdocsqiyemydb.mdb
另外,Server.MapPath("mydb.mdb").的參數的首部最好不要含有「/」,l因為這意味著根。Response.Write(Server.MapPath("/mydb.mdb").ToString());試驗出來的值是:c:/www_root
ASP.NET中Server.MapPath() 和 Request.MapPath()
|
推薦閱讀:
※Path 已經改成了「雙向好友關係分享」了,為什麼 Google+ 還在做單向好友關係分享?這種做法的優缺點何在?
※Path for iOS 的用戶如何讓 Share 給自己的人閃退?
※Path 和 Color,誰在幾年後更成功?
※你對 Path 2.0 的評價是什麼?
※為什麼在 path.com 上找不到直接的登陸入口?只有直接輸 path.com/login 才可以?
TAG:Path |