I have a class:
public class ClientInformation{
public string UserName {get; set;}
public ICollection RegionDistrictCity
In MVC4 you should use a for loop instead of a foreach to bind your collection. Then the model binder will be able to populate your model when you submit your data.
@for (int i = 0; i < Model.RegionDistrictCity.Count; i++)
{
@Html.EditorFor(model => Model.RegionDistrictCity[i].Region)
}
But this will only work if you are not deleting or adding items to your collection dynamically. If you want to do that, you should use the BeginCollectionItem helper created by steve sanderson. http://blog.stevensanderson.com/2010/01/28/editing-a-variable-length-list-aspnet-mvc-2-style/