2013-08-07 54 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很高兴它的工作。 –