作为验证的一部分,我尝试使用表单上下拉框中的值列表。在创建像var form = HttpContext.Current.Request.Form
这样的变量时,我可以看到表单中的所有值。在Visual Studio的调试器中,我感兴趣的列表显示为文本/值对的数组。如何从表单中提取值?
答案 0 :(得分:1)
Form
已经" Text / Value"的集合对。它的类型是NameValueCollection
,它存储"名称/值"对。调试器并不能使它非常容易导航,因为除非您将其编入索引,否则它不会显示值。但是,它很容易枚举:
foreach (string key in form.AllKeys)
{
Console.WriteLine("{0} - {1}", key, form[key]);
}
如果您不想在调试器窗口中看不到值,可以先将名称/值对复制到键/值对的字典中,然后检查字典:
var dictionary = new Dictionary<string, object>();
HttpContext.Current.Request.Form.CopyTo(dictionary);
您可以通过键访问值或以与上面相同的方式迭代它,尽管如果您唯一的抱怨是调试器显示其内容的方式,那么将原始集合转换为字典确实没有价值。