2008-10-09 2 views
6

У меня есть страница something.aspx, связанная с ней codebehind something.aspx.cs. В этом коде я хочу знать расположение файловой системы something.aspx. Есть ли удобный способ получить его?Каким образом страница ASPX может получить путь к файловой системе?

Обновление: У меня есть несколько отличных ответов, которые, к сожалению, не работали из-за чего-то еще сумасшедшего, что я делаю. Я кодирующий некоторая дополнительная информация о URL я прохожу в, так это выглядит следующим образом:

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

Сервер имеет дело с этим КАМИ (и я не использую параметры строки запроса, чтобы работать вокруг какой-то другой кода что я не писал). Но когда я вызываю Server.MapPath (Request.Url.ToString()), я получаю сообщение об ошибке, что полный URL-адрес с сегментами «info» не является допустимым виртуальным путем.

+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)

Смежные вопросы