Доступ к пути к каталогу сайта с помощью streamreader в asp.net - PullRequest
4 голосов
/ 20 октября 2011

из класса в папке App_Code в ASP.NET, как я могу получить доступ к пути к корневому каталогу веб-сайта? Я попробовал:

    StreamReader sr = new StreamReader("../Questions.aspx");

Но он дал мне путь в Program Files ...

Так как я могу это сделать? По крайней мере, я думал, что смогу перейти из папки App_Code в верхнюю папку в каталоге

РЕДАКТИРОВАТЬ: Я не разрабатываю веб-приложение, но веб-сайт

Ответы [ 2 ]

5 голосов
/ 20 октября 2011

Попробуйте использовать

    string filePath = System.Web.HttpContext.Current.Request.PhysicalApplicationPath;
    StreamReader sr = new StreamReader(filePath + @"\Questions.aspx");
1 голос
/ 20 октября 2011

Поскольку в «App_Code» у вас нет экземпляра объекта «HttpServerUtility» или переменной «Server», вы можете передать его в свою функцию и использовать его для преобразования путей сайта:

App_Code> Test.cs

using System.Web;

public class Test
{
    public static string getfile(HttpServerUtility Server )
    {
        return Server.MapPath("~/Default.aspx");
    }
}

И когда вы вызываете его со своих страниц ASPX, называйте это как:

string filepath = Test.getfile(Server);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...