如何循环使用FormCollection来检查文本框是否有值?

时间:2010-05-28 21:15:58

标签: asp.net-mvc

我有一个搜索页面,其中包含6个文本框,我将其作为FormCollection传递给控制器​​中的操作。如果文本框中没有值,我不想搜索记录。

有没有办法遍历FormCollection中的所有文本框以检查哪些文本框中包含值?

我是学院的学生,这个项目是我暑期体验计划的一部分。 我意识到这是一个新手问题:) 谢谢!

2 个答案:

答案 0 :(得分:9)

你可以像这样循环FormCollection

foreach( string key in forms.Keys )
{
    ...
}

但请注意,浏览器只会向您发送名称和值。它不会向您发送输入类型,因此您无法检查该值是否为复选框,除非您事先知道所有复选框的名称。但如果是这种情况,则不需要循环 - 只需按名称将它们从集合中删除即可。

答案 1 :(得分:2)

List<string> list = new List<string>();
for(int i= 0; i< form.AllKeys.Count(); ++i)
{
    list.Add(form.Get(i));
}

这将为您提供每个键的所有实际值