I found a very good artical about how to pass the dictionary or IEnumerable<T> parameters to MVC controller.
http://www.hanselman.com/blog/ ASPNETWireFormatForModelBindingToArraysListsCollectionsDicti onaries.aspx
So if your action requires array of objects, say Person:
public ActionResult ProcessAction(Person[] people)
Then your MVC view HTML should look like:
http://www.hanselman.com/blog/
So if your action requires array of objects, say Person:
public ActionResult ProcessAction(Person[] people)
Then your MVC view HTML should look like:
<input type="text" name="people[0].FirstName" value="George" /><input type="text" name="people[0].LastName" value="Washington" /><input type="text" name="people[1].FirstName" value="Abraham" /><input type="text" name="people[1].LastName" value="Lincoln" /><input type="text" name="people[3].FirstName" value="Thomas" /><input type="text" name="people[3].LastName" value="Jefferson" />
If your action requires dictionary of objects, say Person with key as his Employee ID:
public ActionResult ProcessAction(IDictionary<string, Person> people)
Then your MVC view HTML should look like:
public ActionResult ProcessAction(IDictionary<string, Person> people)
Then your MVC view HTML should look like:
<input type="text" name="people[0].Key" value="0001" /><input type="text" name="people[0].Value.FirstName" value="George" /><input type="text" name="people[0].Value.LastName" value="Washington" /><input type="text" name="people[1].Key" value="0002" /><input type="text" name="people[1].Value.FirstName" value="Abraham" /><input type="text" name="people[1].Value.LastName" value="Lincoln" />
Comments