2008-10-09 57 views
6

我有一個頁面something.aspx,與相關的代碼隱藏something.aspx.cs。在該代碼隱藏中,我想知道something.aspx的文件系統位置。有沒有方便的方法來獲取它?.ASPX頁面如何獲取其文件系統路徑?

更新:我得到了幾個很好的答案,很遺憾,由於我正在做其他事情而不工作。我上的編碼我通過在URL中一些額外的信息,所以它看起來是這樣的:

http://server/path/something.aspx/info1/info2/info3.xml

這個OK的服務器處理(和我沒有使用查詢字符串參數來解決一些其他的代碼我沒有寫)。但是當我調用Server.MapPath(Request.Url.ToString())時,我得到一個錯誤,即帶有'info'段的完整URL不是有效的虛擬路徑。

+0

坐落在MapPath的行設置一個斷點,然後檢查Request.Url的屬性。你會在那裏找到很多有用的東西。 – 2008-10-09 17:34:32

+0

會這樣,謝謝。 – Bruce 2008-10-09 17:42:05

回答

10
// File path 
string absoluteSystemPath = Server.MapPath("~/relative/path.aspx"); 
// Directory path 
string dir = System.IO.Path.GetDirectoryName(absoluteSystemPath); 
// Or simply 
string dir2 = Server.MapPath("~/relative"); 
+0

這意味着我知道'相對'部分是什麼,但這就是我想要計算的。 – Bruce 2008-10-09 17:31:27

5

Server.MapPath是最常用的方式去做之一。

string physicalPath = Server.MapPath(Request.Url); 
0

Server.MapPath(Request.AppRelativeCurrentExecutionFilePath)

相關問題