ASP.NET MVC 4 - для свойств коллекции моделей сообщений цикла, но foreach - нет

Скажем, у меня есть следующие модели:

public class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

public class Town
{
    public string Name { get; set; }
    public IEnumerable People { get; set; }
}

Тогда, на мой взгляд Razor, у меня есть это:

@model Town
@using(Html.BeginForm())
{
    
        @foreach(var person in Model.People)
        {
            
                @Html.TextBoxFor(m => person.Name)
                @Html.TextBoxFor(m => person.Age)
            
        }
    
    
}

Затем у меня есть действие для POST, что-то вроде этого:

[HttpPost]
public ActionResult Index(Town theTown)
{
    //....
}

Когда я публикуюIEnumerable не попадается. Если я смотрю на это в Fiddler, коллекция публикуется только один раз, и неперечислить коллекцию, поэтому я получаю:

People.Name = "whatever"
People.Age = 99

Однако, если я поменяю людей наIList и использовать цикл вместо foreach ...

@for(var i = 0;i < Model.People.Count;i++)
{
    
        @Html.TextBoxFor(m => Model.People[i].Name)
        @Html.TextBoxFor(m => Model.People[i].Age)
    
}

Оно работает. Я делаю что-то неправильно? Что мне не хватает?

Ответы на вопрос(2)

Ваш ответ на вопрос