Given multiple HTML checkboxes:
<input type="checkbox" name="catIDs" value="1" />
<input type="checkbox" name="catIDs" value="2" />
...
<input type="checkbox" name="catIDs" value="100" />
How do I retrive an array of integers from a FormCollection in an action:
public ActionResult Edit(FormCollection form)
{
int [] catIDs = (IEnumerable<int>)form["catIDs"]; // ???
// alternatively:
foreach (int catID in form["catIDs"] as *SOME CAST*)
{
// ...
}
return View();
}
Note: I read the related questions and I don’t want to change my action parameters, eg. Edit(int [] catIDs).
When you have multiple controls with the same name, they are comma separated values. In other words:
catIDs is “1,2,3,…”
So to get all the values you would do this:
Or using Linq:
Then you can enumerate through all the values.