2012-05-10 53 views
0

我的表单将值发布到控制器,并且在表单集合中,某些键有一个值,而其他一些键有两个值,我打算读取Form Collection中的所有键的第一个值,任何帮助?表单集合返回两个值,如何读取第一个?

  1. 图例:A值:[0]:真,[1]:假
  2. 键:B值:[0]:假
  3. 键:C值:[0]:假
  4. 关键字:D值:[0]:True,[1]:False

我只希望每个键的值为[0]!

+0

我很好奇如何一个键可以有多个值。你是否暗示你的“价值”是某种类型的集合?或者它是某种Tuple <>什么的? – CodeHxr

+0

您可以发布您的意见表单,以便我们可以更好地了解您要提交的内容吗? – Dangerous

+0

Amarnath刚刚回答了这个问题,谢谢! :) – Nanu

回答

2

Amarnath的回答是正确的,但使用分割是不必要的,因为GetValues()方法已经为你做了。

public ActionResult YourAction(FormCollection fc) 
{ 
    foreach (string key in fc.AllKeys) 
    { 
      string value-to-consider = fc.GetValues(key).FirstOrDefault(); 

      //further processing. 
    } 

} 

编辑:如果我有能力,我会添加这个评论。

+0

这看起来光滑。 :) – Nanu

+0

我相信这两个答案可以合并。也许评论会更合适,以便作者可以更新答案。 – Numbers

1

表单集合返回指定键的逗号分隔值,您可以使用split(“,”)分隔所有值,只能考虑第一个值。示例实施将是

public ActionResult YourAction(FormCollection fc) 
{ 
    foreach (string key in fc.AllKeys) 
    { 
      string values = fc[key]; 
      string[] valueArray = values.split(','); 
      string value-to-consider = valueArray[0]; 

      //further processing. 
    } 

} 

希望这有助于。

+0

谢谢,这就是我一直在寻找的! :) – Nanu

相关问题