Esporta (0) Stampa
Espandi tutto
Il presente articolo è stato tradotto manualmente. Passare il puntatore sulle frasi nell'articolo per visualizzare il testo originale.
Traduzione
Originale

Metodo HttpUtility.ParseQueryString (String)

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

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

public static NameValueCollection ParseQueryString(
	string query
)

Parametri

query
Tipo: System.String
Stringa di query da analizzare.

Valore restituito

Tipo: System.Collections.Specialized.NameValueCollection
Oggetto NameValueCollection di parametri e valori di query.

EccezioneCondizione
ArgumentNullException

query è null.

Con il metodo ParseQueryString viene utilizzato il formato UTF8 per analizzare la stringa di query nell'oggetto NameValueCollection restituito, i caratteri codificati in URL vengono decodificati e più ricorrenze dello stesso parametro della stringa di query vengono elencate come una sola voce con ogni valore separato da virgola.

Nota sulla sicurezzaNota sulla sicurezza

Il metodo ParseQueryString utilizza stringhe di query che potrebbero contenere input dell'utente e rappresentare un potenziale rischio per la sicurezza. Per impostazione predefinita, le pagine Web ASP.NET verificano che l'input dell'utente non includa script o elementi HTML. Per ulteriori informazioni, vedere Cenni preliminari sugli attacchi tramite script.

Nell'esempio di codice riportato di seguito viene illustrato come utilizzare il metodo ParseQueryString. Più ricorrenze della stessa variabile della stringa di query vengono consolidate in una voce dell'oggetto NameValueCollection restituito.


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

Supportato in: 4, 3.5, 3.0, 2.0

Windows 7, Windows Vista SP1 o versione successiva, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (componenti di base del server non supportati), Windows Server 2008 R2 (componenti di base del server supportati con SP1 o versione successiva), Windows Server 2003 SP2

.NET Framework non supporta tutte le versioni di ciascuna piattaforma. Per un elenco delle versioni supportate, vedere Requisiti di sistema di .NET Framework.

Aggiunte alla community

AGGIUNGI
Mostra:
© 2015 Microsoft