2010-03-03 3 views

Antwort

81

Ja, verwenden Sie die HttpRequest.QueryString Sammlung:

Ruft die Auflistung von String-Variablen HTTP-Abfrage.

Sie können es wie folgt verwenden:

foreach (String key in Request.QueryString.AllKeys) 
{ 
    Response.Write("Key: " + key + " Value: " + Request.QueryString[key]); 
} 
+6

Etwas dies nur darauf hinzuweisen, werden Sie die Paare bekommen, wenn Sie eine Abfragezeichenfolgeflag haben passieren wie "Okay, du wirst von dieser Methode nichts bekommen. http://stackoverflow.com/questions/14902059/check-if-unassigned-variable-exists-in-request-querystring –

9

Nun, Request.QueryString bereits eine Sammlung IS. Genauer gesagt ist es ein NameValueCollection. Wenn Ihr Code in ASP.NET ausgeführt wird, ist dies alles, was Sie benötigen.

So, um Ihre Frage zu beantworten: Ja, gibt es.

2

QueryString Eigenschaft in HttpRequest Klasse ist eigentlich NameValueCollection Klasse. Alles, was Sie tun müssen, ist

NameValueCollection col = Request.QueryString;

6

Wenn Sie ein NUR als Zeichenfolge dargestellt Abfragezeichenfolgen, verwenden HttpUtility.ParseQueryString es in eine Namevaluecollection zu analysieren.

Wenn dies jedoch Teil eines HttpRequest ist, verwenden Sie die bereits analysierte QueryString-Eigenschaft Ihres HttpRequest.

4

Sie können LINQ verwenden, um eine Liste der anonymen Objekte zu erstellen, die Sie in einem Array zugreifen:

var qsArray = Request.QueryString.AllKeys 
    .Select(key => new { Name=key.ToString(), Value=Request.QueryString[key.ToString()]}) 
    .ToArray(); 
Verwandte Themen