2013-08-07 51 views
1

我正在學習.net,我需要獲取特定網絡表單的URI。獲取特定網絡表單的URI

框架是asp.net 3.5

例子:我在AboutMe.aspx.cs,我需要找出Contactme.aspx的URI是什麼。 編輯澄清:我會給這個方法的路徑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

只是想獲得當前的網址?看看 - 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很高興它的工作。 –