2011-07-28 15 views
11

To działa na pętli wszystkich przycisków forma:Loop poprzez klawisze obiekt Request

foreach (string s in Request.Form.Keys)   
     {  
      Response.Write(s.ToString() + ":" + Request.Form[s] + "<br>");  
     } 

Ale chcę pętli wszystkich przycisków żądanie:

foreach (string s in Request)  
     {  
      Response.Write(s.ToString() + ":" + Request[s] + "<br>");  
     } 

Problem polega request.keys nie jest kolekcja. Ale oczywiście obiekt żądania ma dzieci, które chcę przełączyć. Jestem prawie pewien, że to możliwe, używam tylko złej składni.

z góry dzięki!

Odpowiedz

19

użycie Request.Params:

foreach (string s in Request.Params.Keys)  
{  
    Response.Write(s.ToString() + ":" + Request.Params[s] + "<br>");  
} 
1

Mark jest poprawna to będzie działać, ale powróci wszystkie klucze w plikach cookie, klucze w formie, która jest wysłana, a klucze w ciągów zapytań i innych wartości klucza wysyłane pary. Proponuję bardziej konkretny. Jeśli otrzymaniu wpisu obiektu korzystanie

Dictionary<string, string> _properties; 
    foreach (string f in report.Form.Keys) 
    { 
     _properties.Add(f, report.Form[f]); 
    } 

i do użytku stronę Pobierz

foreach(string s in report.QueryString.Keys) 
    { 
     _properties.Add(s,report.QueryString[s]); 
    }