Questo articolo è stato tradotto automaticamente. Per visualizzare l'articolo in inglese, selezionare la casella di controllo Inglese. È possibile anche visualizzare il testo inglese in una finestra popup posizionando il puntatore del mouse sopra il testo.
Traduzione
Inglese

Metodo HttpUtility.ParseQueryString (String)

 

Data di pubblicazione: ottobre 2016

Analizza una stringa di query in un NameValueCollection usando la codifica UTF8.

Spazio dei nomi:   System.Web
Assembly:  System.Web (in System.Web.dll)

public static NameValueCollection ParseQueryString(
	string query
)

Parametri

query
Type: System.String

Stringa di query da analizzare.

Valore restituito

Type: System.Collections.Specialized.NameValueCollection

NameValueCollection di parametri e valori di query.

Exception Condition
ArgumentNullException

query è null.

Il ParseQueryString metodo utilizza UTF8 formato per analizzare la stringa di query nell'oggetto restituito NameValueCollection, i caratteri con codifica URL vengono decodificati e più occorrenze dello stesso parametro di stringa di query vengono elencate come una singola voce con ogni valore separato da virgola.

System_CAPS_security Sicurezza Nota

Il ParseQueryString metodo utilizza le stringhe di query che contengono l'input dell'utente, ovvero una potenziale minaccia alla sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per altre informazioni, vedere Script Exploits Overview.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo ParseQueryString. Più occorrenze della stessa variabile di stringa di query vengono consolidate in una voce dell'oggetto restituito 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
Disponibile da 2.0
Torna all'inizio
Mostra: