Asp.net mvc 3 在asp.net mvc中获取当前目录

Asp.net mvc 3 在asp.net mvc中获取当前目录,asp.net-mvc-3,Asp.net Mvc 3,我试图构造一个文件路径来读取XSLT文件,如下所示: string path = "../_xslt/example.xslt"; StreamReader reader = new StreamReader(path); …其中我位于控制器(/Controllers/ExampleController.cs)中,“/\u xslt/”文件夹与“/Controllers”处于同一级别 但是,我得到的错误是: (System.IO.DirectoryNotFoundException) 找不到

我试图构造一个文件路径来读取XSLT文件,如下所示:

string path = "../_xslt/example.xslt";
StreamReader reader = new StreamReader(path); 
…其中我位于控制器(/Controllers/ExampleController.cs)中,“/\u xslt/”文件夹与“/Controllers”处于同一级别

但是,我得到的错误是:

(System.IO.DirectoryNotFoundException) 找不到路径“c:\windows\system32\\u xslt\example.xslt”的一部分

我走错方向了吗


谢谢你的帮助

如果控制器存在于目录根中

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

您可以使用该方法为自己映射任何相对路径,在控制器中,可以通过
ControllerContext
轻松访问:

string path = ControllerContext.HttpContext.Server.MapPath("~/_xslt/example.xslt");
...
string path = ControllerContext.HttpContext.Server.MapPath("~/_xslt/example.xslt");
...
string TestX()
{
    string path = AppDomain.CurrentDomain.BaseDirectory; // You get main rott
    string dirc = ""; // just var for use
    string[] pathes = Directory.GetDirectories(path); // get collection

    foreach (string str in pathes)
    {
        if (str.Contains("NameYRDirectory")) // paste yr directory
        {
            dirc = str;
        }
    }

    return dirc; // after use Method and modify as you like
}