Dieser Artikel wurde maschinell übersetzt. Wenn Sie die englische Version des Artikels anzeigen möchten, aktivieren Sie das Kontrollkästchen Englisch. Sie können den englischen Text auch in einem Popupfenster anzeigen, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

HttpUtility.ParseQueryString-Methode: (String)

 

Veröffentlicht: Oktober 2016

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

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

public static NameValueCollection ParseQueryString(
	string query
)

Parameter

query
Type: System.String

Die zu analysierende Abfragezeichenfolge.

Rückgabewert

Type: System.Collections.Specialized.NameValueCollection

Eine NameValueCollection von Abfrageparametern und -werten.

Exception Condition
ArgumentNullException

query ist null.

Die ParseQueryString -Methode verwendet UTF8 Format zum Analysieren der Abfragezeichenfolge In der zurückgegebenen NameValueCollection, URL-codierte Zeichen decodiert und mehrere Vorkommen der gleichen Abfragezeichenfolgen-Parameter werden durch ein Komma trennen jeden Wert als einzelner Eintrag aufgeführt.

System_CAPS_security Sicherheit Hinweis

Die ParseQueryString -Methode verwendet Abfragezeichenfolgen, die Benutzereingaben enthalten können, was die ein potenzielles Sicherheitsrisiko darstellen. Standardmäßig stellen ASP.NET-Webseiten sicher, dass Benutzereingaben keine Skript- oder HTML-Elemente enthalten. Weitere Informationen finden Sie unter Script Exploits Overview.

Das folgende Codebeispiel zeigt, wie Sie die ParseQueryString-Methode verwenden. Mehrfaches Vorkommen der gleichen Abfragezeichenfolgen-Variablen werden in einem Eintrag des zurückgegebenen konsolidiert NameValueCollection.

<%@ 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>

.NET Framework
Verfügbar seit 2.0
Zurück zum Anfang
Anzeigen: