我的表单将值发布到控制器,并且在表单集合中,某些键有一个值,而其他一些键有两个值,我打算读取Form Collection中的所有键的第一个值,任何帮助?表单集合返回两个值,如何读取第一个?
- 图例:A值:[0]:真,[1]:假
- 键:B值:[0]:假
- 键:C值:[0]:假
- 关键字:D值:[0]:True,[1]:False
我只希望每个键的值为[0]!
我的表单将值发布到控制器,并且在表单集合中,某些键有一个值,而其他一些键有两个值,我打算读取Form Collection中的所有键的第一个值,任何帮助?表单集合返回两个值,如何读取第一个?
我只希望每个键的值为[0]!
Amarnath的回答是正确的,但使用分割是不必要的,因为GetValues()方法已经为你做了。
public ActionResult YourAction(FormCollection fc)
{
foreach (string key in fc.AllKeys)
{
string value-to-consider = fc.GetValues(key).FirstOrDefault();
//further processing.
}
}
编辑:如果我有能力,我会添加这个评论。
表单集合返回指定键的逗号分隔值,您可以使用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.
}
}
希望这有助于。
谢谢,这就是我一直在寻找的! :) – Nanu
我很好奇如何一个键可以有多个值。你是否暗示你的“价值”是某种类型的集合?或者它是某种Tuple <>什么的? – CodeHxr
您可以发布您的意见表单,以便我们可以更好地了解您要提交的内容吗? – Dangerous
Amarnath刚刚回答了这个问题,谢谢! :) – Nanu