2009-09-29 10 views
5

Ich möchte alles in Request.Form ausspucken, so kann ich es einfach als String zurückgeben und sehen, was ich damit zu tun habe. Ich habe versucht, eine Schleife für Einstellung ...Wie durchqueren Sie Request.Form, ohne irgendwelche Details zu kennen?

// Order/Process 
// this action is the submit POST from the pricing options selection page 
// it consumes the pricing options, creates a new order in the database, 
// and passes the user off to the Edit view for payment information collection 

[AcceptVerbs(HttpVerbs.Post)] 
public string Process() 
{ 
    string posted = ""; 
    for(int n = 0;n < Request.Form.Count;n++) 
     posted += Request.Form[n].ToString(); 
    return posted; 
} 

Aber immer ist ich zurück ‚12‘ und ich weiß, dass es viel mehr Dinge auf dem Formular ist als die ...

Antwort

13
StringBuilder s = new StringBuilder(); 
foreach (string key in Request.Form.Keys) 
{ 
    s.AppendLine(key + ": " + Request.Form[key]); 
} 
string formData = s.ToString(); 
10
foreach(string key in Request.Form.Keys) 
{ 
    posted += Request.Form[key].ToString(); 
} 
+0

+1 Das ist die eine :) –

0
foreach(KeyValuePair<string, string> kvp in Request.Form){ 
    posted += kvp.Key + ":" + kvp.Value + "\n"; 
} 

Bearbeiten: Oh. Anscheinend müssen Sie hack the NameValueCollection, um es zu tun. Dies ist ein schlechter Weg, um die Sammlung zu durchlaufen.

+0

Angegebene Besetzung ist nicht gültig. – BigOmega

3

OHHH Ich habe mein Problem herausgefunden, in meiner Form ist der einzige Wert, den ich zurückbekomme, von der einzigen Eingabesteuerung, die einen NAMEN hat. Jetzt, da ich ihnen Namen gebe, funktioniert es.

Verwandte Themen