HttpUtility.ParseQueryString Method (String)

Note: This method is new in the .NET Framework version 2.0.

Parses a query string into a NameValueCollection using UTF8 encoding.

Namespace: System.Web
Assembly: System.Web (in system.web.dll)

Public Shared Function ParseQueryString ( _
	query As String _
) As NameValueCollection
Dim query As String
Dim returnValue As NameValueCollection

returnValue = HttpUtility.ParseQueryString(query)
public static NameValueCollection ParseQueryString (
	String query
public static function ParseQueryString (
	query : String
) : NameValueCollection



The query string to parse.

Return Value

A NameValueCollection of query parameters and values.

Exception typeCondition


query is a null reference (Nothing in Visual Basic).

The ParseQueryString method uses UTF8 format to parse the query string In the returned NameValueCollection, URL-encoded characters are decoded and multiple occurrences of the same query string parameter are listed as a single entry with a comma separating each value.

The following code example demonstrates how to use the ParseQueryString method. Multiple occurrences of the same query string variable are consolidated in one entry of the returned NameValueCollection.

<%@ Page Language="VB" %>

<script runat="server">

  Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)

    Dim currurl As String = HttpContext.Current.Request.RawUrl
    Dim querystring As String = Nothing
    ' Check to make sure some query string variables
    ' exist and if not add some and redirect.
    Dim iqs As Int32 = currurl.IndexOf("?".ToCharArray())
    If (iqs = -1) Then
      Dim redirecturl As String = currurl & "?var1=1&var2=2+2%2f3&var1=3"
      Response.Redirect(redirecturl, True)
      ' If query string variables exist, put them in
      ' a string.
    ElseIf (iqs >= 0) Then
      If (iqs < currurl.Length - 1) Then
        querystring = currurl.Substring(iqs + 1)
      End If
    End If

    ' Parse the query string variables into a NameValueCollection.
    Dim qscoll As NameValueCollection = HttpUtility.ParseQueryString(querystring)
    ' Iterate through the collection.
    Dim sb As New StringBuilder("<br>")
    For Each s As String In qscoll.AllKeys
      sb.Append(s & " - " & qscoll(s) & "<br>")
    Next s
    ' Write the result to a label
    ParseOutput.Text = sb.ToString()
  End Sub

<head id="Head1" runat="server">
    <title>HttpUtility ParseQueryString Example</title>
    <form id="Form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />

Windows 98, Windows 2000 SP4, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see System Requirements.

.NET Framework

Supported in: 2.0

Community Additions