Request.URL can be used in .NET to get the value that the web browser used to access a page. However, there are many different properties to choose from, and sometimes it is difficult to know which property to use.
I tired of guessing at the correct value and decided to write a small bit of code to display all of the properties so I could find the correct value faster next time.
Here’s what my code looks like:
Imports System.Reflection Partial Class Tests_requestURL Inherits System.Web.UI.Page Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load Dim info() As PropertyInfo = Request.Url.GetType().GetProperties() For Each a As PropertyInfo In info If a.CanRead Then Me.ltlValues.Text &= String.Format("{0}: {1}<br><br>", a.Name, a.GetValue(Request.Url, Nothing)) End If Next End Sub End Class
The code uses a bit of reflection and I am sure can be helpful for figuring out the properties of any other object.
For this url:
http://train.mindscapesolutions.com/tests/requesturl.aspx?query1=test&query2=test
The output is:
AbsolutePath: /tests/requesturl.aspx
AbsoluteUri: http://train.mindscapesolutions.com/tests/requesturl.aspx?query1=2&query2=3
Authority: train.mindscapesolutions.com
Host: train.mindscapesolutions.com
HostNameType: Dns
IsDefaultPort: True
IsFile: False
IsLoopback: False
IsUnc: False
LocalPath: /tests/requesturl.aspx
PathAndQuery: /tests/requesturl.aspx?query1=2&query2=3
Port: 80
Query: ?query1=2&query2=3
Fragment:
Scheme: http
OriginalString: http://train.mindscapesolutions.com:80/tests/requesturl.aspx?query1=2&query2=3
DnsSafeHost: train.mindscapesolutions.com
IsAbsoluteUri: True
Segments: System.String[]
UserEscaped: False
UserInfo:
Aaron Brander is the VP of Technology for MINDSCAPE at Hanon McKendry.