2012-04-06 71 views
-1

我需要从POST中获取所有FIELD和VALUES。NameValueCollection from Form.Post显示字段和值

我有以下只返回字段但没有值。

NameValueCollection authForm = Request.Form; 
String[] a = authForm.AllKeys; 

for (i = 0; i < a.Length; i++) 
{ 
    frm += ("Form: " + a[i] + " : " + "<br>"); 
} 

Response.Write(frm); 

什么可以添加这个frm字符串来显示VALUES?

UPDATE:

我用它工作很大的

NameValueCollection authForm = Request.Form; 
    foreach (string key in authForm.AllKeys) 
    { 
     frm += ("Key: " + key + ", Value: " + authForm[key] + "<br/>"); 
    } 

的初始代码。我会尝试下面的新变化。

回答

6
NameValueCollection authForm = Request.Form; 
StringBuilder sb = new StringBuilder(); 
foreach (string key in authForm.AllKeys) 
{ 
    sb.AppendFormat(
     "Key: {0}, Value: {1}<br/>", 
     HttpUtility.HtmlEncode(key), 
     HttpUtility.HtmlEncode(authForm[key]) 
    ); 
} 
Response.Write(sb.ToString()); 
+0

+1,但如果你使用它会更漂亮'string.Format'或'StringBuilder.AppendFormat' :-) – 2012-04-06 20:33:46

+0

@JamesJohnson,当然,答案更新。 – 2012-04-06 20:35:16

+0

看起来更干净。 – 2012-04-06 20:36:49