2013-08-07 2 views
1

Я в процессе обучения .net, и мне нужно получить URI определенной веб-формы.Получить URI определенной веб-формы

Каркас является asp.net 3,5

Пример: Я в AboutMe.aspx.cs, и мне нужно, чтобы выяснить, что будет URI из Contactme.aspx. Изменить, чтобы уточнить: Я хотел бы дать этому методу путь к Contactme.aspx -> «~/Contactme.aspx» и получить «www.porcupine.com/Contactme.aspx»

Причину Я пытаюсь чтобы понять, что я хочу отобразить страницу шаблона электронной почты, которая имеет определенные переменные на человека, а затем сможет скопировать всю страницу в строку с помощью метода WebClient(). DownloadString(). Но для этого метода требуется, чтобы URI страницы преобразовывался в строку.

Кто-нибудь знает, как это сделать? Или альтернативный способ сделать это (т. Е. Не просто написать всю страницу как тело сообщения и т. Д.)?

+0

Так в основном вы хотите, противоположное тому, что это делает? http://msdn.microsoft.com/en-us/library/system.web.httpserverutility.mappath.aspx – itsme86

+0

Просто хотите получить текущий URL? Посмотрите на http://stackoverflow.com/questions/1034621/get-current-url-with-javascript –

+0

@ itsme86 Да и нет, поскольку вы просто предоставляете виртуальный путь этому методу; Мне нужно что-то, где я могу предоставить либо виртуальный, либо физический путь и получить URI, где он будет (например, дать ему ~/pizza.aspx и получить www.porcupine.com/pizza.aspx). – Gabrinthei

ответ

0

Это должно работать для того, что вам нужно:

string url = Request.Url.Scheme + System.Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port) + ResolveUrl("~/ContactMe.aspx"); 

В моем случае она возвращает:

http://localhost:3165/WebSite88/ContactMe.aspx 
+1

Святой ити сиськи! Спасибо огромное! Я рад, что существует такой простой способ получить это, ха! Серьезно, спасибо! – Gabrinthei

+0

@Gabrinthei рад, что это сработало. –

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