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.