2012-02-22 89 views
15

我試圖建立一個文件路徑,以便讀取XSLT文件,像這樣:獲取在asp.net mvc的當前目錄

string path = "../_xslt/example.xslt"; 
StreamReader reader = new StreamReader(path); 

...我現在處於一個控制器(/控制器/ ExampleController.cs),和 '/ _xslt /' 文件夾是在同一級別爲 '/控制器'

不過,我得到的錯誤是:

(System.IO.DirectoryNotFoundException) 未能進行找到路徑'c:\ windows \ system32 \ _xslt \ example.xslt'的一部分。

我該怎麼做呢?

感謝您的幫助!

回答

23

可以使用HttpServerUtility.MapPath方法的任何相對路徑地圖給你,在你的控制器,這是通過ControllerContext方便:

string path = ControllerContext.HttpContext.Server.MapPath("~/_xslt/example.xslt"); 
... 
3

如果控制器出現在根目錄

String path = ControllerContext.HttpContext.Server.MapPath(@"~/_xslt/example.xslt"); 

否則

String path = ControllerContext.HttpContext.Server.MapPath(@"../_xslt/example.xslt");