Pet*_*ron 15 checkbox asp.net-mvc formcollection
给出多个HTML复选框:
<input type="checkbox" name="catIDs" value="1" />
<input type="checkbox" name="catIDs" value="2" />
...
<input type="checkbox" name="catIDs" value="100" />
Run Code Online (Sandbox Code Playgroud)
如何从动作中的FormCollection中检索整数数组:
public ActionResult Edit(FormCollection form)
{
int [] catIDs = (IEnumerable<int>)form["catIDs"]; // ???
// alternatively:
foreach (int catID in form["catIDs"] as *SOME CAST*)
{
// ...
}
return View();
}
Run Code Online (Sandbox Code Playgroud)
注意:我阅读了相关问题,但我不想更改我的操作参数,例如.Edit(int [] catIDs).
Kel*_*tex 20
如果有多个具有相同名称的控件,则它们是逗号分隔值.换一种说法:
string catIDs = form["catIDs"];
Run Code Online (Sandbox Code Playgroud)
catIDs是"1,2,3,......"
因此,要获得所有值,您将执行此操作:
string [] AllStrings = form["catIDs"].Split(',');
foreach(string item in AllStrings)
{
int value = int.Parse(item);
// handle value
}
Run Code Online (Sandbox Code Playgroud)
或者使用Linq:
var allvalues = form["catIDs"].Split(',').Select(x=>int.Parse(x));
Run Code Online (Sandbox Code Playgroud)
然后,您可以枚举所有值.
| 归档时间: |
|
| 查看次数: |
18010 次 |
| 最近记录: |