HttpUtility.ParseQueryString Methode

Definition

Analysiert eine Abfragezeichenfolge in eine NameValueCollection.

Überlädt

ParseQueryString(String)

Liest eine Abfragezeichenfolge mithilfe der UTF8-Codierung in eine NameValueCollection ein.

ParseQueryString(String, Encoding)

Zerlegt eine Abfragezeichenfolge mithilfe der angegebenen Encoding in eine NameValueCollection.

ParseQueryString(String)

Liest eine Abfragezeichenfolge mithilfe der UTF8-Codierung in eine NameValueCollection ein.

public:
 static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query);
static member ParseQueryString : string -> System.Collections.Specialized.NameValueCollection
Public Shared Function ParseQueryString (query As String) As NameValueCollection

Parameter

query
String

Die zu zerlegende Abfragezeichenfolge.

Gibt zurück

NameValueCollection

Eine NameValueCollection von Abfrageparametern und -werten.

Ausnahmen

query ist null.

Beispiele

Das folgende Codebeispiel zeigt, wie Sie die ParseQueryString-Methode verwenden. Mehrere Vorkommen derselben Abfragezeichenfolgenvariable werden in einem Eintrag der zurückgegebenen Abfragezeichenfolge NameValueCollectionkonsolidiert.

<%@ Page Language="C#"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  protected void Page_Load(object sender, EventArgs e)
  {
    String currurl = HttpContext.Current.Request.RawUrl;
    String querystring = null ;

    // Check to make sure some query string variables
    // exist and if not add some and redirect.
    int iqs = currurl.IndexOf('?');
    if (iqs == -1)
    {
      String redirecturl = currurl + "?var1=1&var2=2+2%2f3&var1=3";
      Response.Redirect(redirecturl, true); 
    }
    // If query string variables exist, put them in
    // a string.
    else if (iqs >= 0)
    {
      querystring = (iqs < currurl.Length - 1) ? currurl.Substring(iqs + 1) : String.Empty;
    }
   
    // Parse the query string variables into a NameValueCollection.
    NameValueCollection qscoll = HttpUtility.ParseQueryString(querystring);
    
    // Iterate through the collection.
    StringBuilder sb = new StringBuilder("<br />");
    foreach (String s in qscoll.AllKeys)
    {
      sb.Append(s + " - " + qscoll[s] + "<br />");
    }
    
    // Write the result to a label.
    ParseOutput.Text = sb.ToString();

  }
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>HttpUtility ParseQueryString Example</title>
</head>
<body>
    <form id="form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </form>
</body>
</html>
<%@ Page Language="VB" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<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
  
</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
    <title>HttpUtility ParseQueryString Example</title>
</head>
<body>
    <form id="Form1" runat="server">
      Query string variables are:
      <asp:Label  id="ParseOutput"
                  runat="server" />
    </form>
</body>
</html>

Hinweise

Die ParseQueryString Methode verwendet UTF8 Format, um die Abfragezeichenfolge in der zurückgegebenen NameValueCollection, URL-codierten Zeichen zu analysieren, und mehrere Vorkommen desselben Abfragezeichenfolgenparameters werden als einzelner Eintrag mit einem Komma aufgelistet, der jeden Wert trennt.

Wichtig

Die ParseQueryString Methode verwendet Abfragezeichenfolgen, die möglicherweise Benutzereingaben enthalten, was eine potenzielle Sicherheitsrisiken ist. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

Siehe auch

Gilt für

ParseQueryString(String, Encoding)

Zerlegt eine Abfragezeichenfolge mithilfe der angegebenen Encoding in eine NameValueCollection.

public:
 static System::Collections::Specialized::NameValueCollection ^ ParseQueryString(System::String ^ query, System::Text::Encoding ^ encoding);
public static System.Collections.Specialized.NameValueCollection ParseQueryString (string query, System.Text.Encoding encoding);
static member ParseQueryString : string * System.Text.Encoding -> System.Collections.Specialized.NameValueCollection
Public Shared Function ParseQueryString (query As String, encoding As Encoding) As NameValueCollection

Parameter

query
String

Die zu zerlegende Abfragezeichenfolge.

encoding
Encoding

Der zu verwendende Encoding.

Gibt zurück

NameValueCollection

Eine NameValueCollection von Abfrageparametern und -werten.

Ausnahmen

query ist null.

- oder -

encoding ist null.

Hinweise

In den zurückgegebenen NameValueCollection, URL-codierten Zeichen werden dekodiert, und mehrere Vorkommen desselben Abfragezeichenfolgenparameters werden als einzelner Eintrag mit einem Komma aufgelistet, der jeden Wert getrennt.

Wichtig

Die ParseQueryString Methode verwendet Abfragezeichenfolgen, die möglicherweise Benutzereingaben enthalten, was eine potenzielle Sicherheitsrisiken ist. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Übersicht über Skriptangriffe.

Siehe auch

Gilt für