C # Я хочу URL, а не физический путь - PullRequest
1 голос
/ 18 августа 2010

Для этой строки кода;

string link = HttpContext.Current.Server.MapPath("/Contract/Details/" + this.ContractId.ToString());

Я получаю физический путь на диске C.

То, что я хочу, это URL, т.е.

http://localhost:1234/Contract/Details/1

Как мне это получить?

Ответы [ 4 ]

4 голосов
/ 18 августа 2010
// Use the Uri constructor to form a URL relative to the current page
Uri linkUri = new Uri(HttpContext.Current.Request.Url, "/Contract/Details/" + this.ContractId.ToString());
string link = linkUri.ToString();
4 голосов
/ 18 августа 2010

попробуйте это:

string url = HttpContext.Current.Request.Url.AbsoluteUri;
3 голосов
/ 18 августа 2010

Есть отличная статья о путях .Net @ http://west -wind.com / weblog / posts / 132081.aspx

Обратите внимание на свойство Url или PathInfo.

0 голосов
/ 18 августа 2010

Uri base = new Uri ("http://localhost:1234/";);

Файл Uri = новый Uri (хост, "/ Контракт / Детали /" + this.ContractId.ToString ());

string URL = file.AbsoluteUri;

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...