Как я могу вернуть массив из представления asp.net-mvc-3 - PullRequest
2 голосов
/ 30 августа 2011

У меня есть модель представления:

    Customer
    {
        public string Name { get; set; }
        ...
        public IEnumerable<string> Emails { get; set; }
    }

Я разместил ее в виде:

    ...
    @foreach (var Emails in Model.Emails)
    {
         @Html.EditorFor(modelItem => Emails)
    }
    ...

Как я могу вернуть контроллеру массив этих писем?

Когда я возвращаю данные из формы в контроллер в этот момент, свойство "Customer.Emails" равно нулю, но оно должно содержать массив сообщений электронной почты.

Ответы [ 2 ]

3 голосов
/ 30 августа 2011

Вызов EditorFor() неправильный.

Вы должны удалить foreach и сделать

...
@Html.EditorFor(modelItem => modelItem.Emails)
...
2 голосов
/ 30 августа 2011

Вы должны сделать

for (var i = 0; i < Model.Emails.Count; i++) {
    @Html.EditorFor(m => m.Emails[i]);
}

в противном случае он не будет генерировать правильный идентификатор для привязки модели (поскольку вы не предоставляете Editor для какого-либо контекста).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...