關於在ASP.NET中實體路徑和虛擬路徑的取得
//Request.CurrentExecutionFilePath; 當前請求的虛擬路徑 是這種格式:/虛擬目錄名/admin/index.aspx
//Request.ApplicationPath //擷取伺服器上 ASP.NET 應用程式的虛擬應用程式根路徑。/虛擬目錄名(應用程式名稱)
以上都是虛擬目錄中的檔案路徑,即是IIS中的路徑。要得到真真的實體路徑要在得到以上路徑的基礎上再加:
Server.MapPath(Request.ApplicationPath +"SPLConfig/ClassMap.xml")//這樣可能會有一個BUG
最好是這樣
string m_ApplicationPath=Request.ApplicationPath;
if(this.m_ApplicationPath=="")
this.m_ApplicationPath="/";
if(!this.m_ApplicationPath.EndsWith("/"))
this.m_ApplicationPath +="/"; //先判斷一下 /
Server.MapPath(m_ApplicationPath+"SPLConfig/ClassMap.xml")
2005 地址Url 的新的訪問方式
//this.Request.CurrentExecutionFilePath; //當前請求的虛擬忙碌中的路徑
//this.Request.FilePath; //虛擬目錄中的路徑
//this.Request.PhysicalPath; //當前請求的實體路徑
//this.Request.PhysicalApplicationPath;//應用程式的實體路徑
//this.Request.Url.AbsoluteUri;//全部URL
Request.RawUrl 獲得網址帶變數 Request.UrlReferrer 獲得網址不帶變數
重新整理本頁面的方法 :
this.Response.Redirect(this.Request.Url.AbsoluteUri, true);
this.Response.Redirect(this.Request.Url.ToString());
定製方法的重新整理
this.Response.Redirect(this.Request.CurrentExecutionFilePath + "?depid=" + this.hDepID.Value.ToString());