2014-09-09 3 views
1

Я хочу, чтобы редактировать несколько (скажем, 4) экземпляр моей модели Ограничение:Редактирование нескольких экземпляров модели ASP.NET MVC

public int RestrictionID { get; set; } 
public string portefeuille { get; set; } 

Я пытаюсь сделать это, на мой взгляд:

@model IEnumerable<Management.Models.Restriction> 
@for (int i= 0; i < 4; i++) 
{ 
    @Html.EditorFor(_ => Model.[i].portefeuille) 
} 

Но у меня есть ошибка, что я не могу использовать индексацию по типу IEnumerable.

Может ли кто-нибудь помочь мне решить эту проблему?

+1

Ваша модель должна be 'IList', а не' IEnumerable' –

+1

и удалять '.' между 'Model' и' [i] ' –

ответ

1

попробуйте под кодом, используя ILIst, потому что в IEnumerable мы не можем использовать индексацию .. для использования индексации вы должны пойти на IList + удалить дополнительные "." между Model и [i]: -

@model ILIst <Management.Models.Restriction> 
@for (int i= 0; i < 4; i++) 
{ 
    @Html.EditorFor(_ => Model[i].portefeuille) 
} 

Для получения дополнительной информации посмотрите здесь: -

Cannot apply indexing with [] to an expression of type 'System.Collections.Generic.IEnumerable<>

+0

Спасибо, что именно я хочу "" между Моделью и [i] является опечаткой – intern

+0

им понравилось, что это помогло вам @intern :) – Neel

1

Вы также могли бы использовать LINQ вместо индексации:

for(int i = 0; i < 4; i++) 
{ 
    @Html.EditorFor(m => m.Skip(i).Take(1).First().portefeuille) 
} 
Смежные вопросы