Inconsistent collection binding

What is the best way to bind a dynamically created set of elements in an MVC view to a collection in MVC 4. I know that previous versions required the elements to look like this:

<input name="Categories[0].CategoryID" type="hidden" value="123" /> <input name="Categories[0].CategoryName" type="hidden" value="Music" /> <input name="Categories[1].CategoryID" type="hidden" value="456" /> <input name="Categories[1].CategoryName" type="hidden" value="Movies" /> 

But when you dynamically add new elements and delete them, everything quickly fails.

Does MVC 4 add a way to bind to an unclassified collection?

+7
source share
1 answer

Non-sequential collection indexes supported with MVC2, you just need to have a separate hidden field that will contain the index using the name : CollectionName.Index schema:

eg:

 <input type="hidden" name="Categories.Index" value="3" /> <input name="Categories[3].CategoryID" type="hidden" value="123" /> <input name="Categories[3].CategoryName" type="hidden" value="Music" /> <input type="hidden" name="Categories.Index" value="1" /> <input name="Categories[1].CategoryID" type="hidden" value="456" /> <input name="Categories[1].CategoryName" type="hidden" value="Movies" /> 

You can find more information on this topic: linking a model to a list

+11
source

All Articles