Ich versuche Listenelemente in meiner MVC-Ansicht, nach diesem Beispiel: Model Binding to a List. Ich verwende MVC 5. Es Beispiel sagt, dies zu tun:Wie indexiere ich eine ICollection <T>, wie sie mir in diesem Beispiel sagen?
<%@ Page Inherits="ViewPage<IList<Book>>" %>
<% for (int i = 0; i < 3; i++) { %>
<%: Html.EditorFor(m => m[i]) %>
<% } %>
Ich versuche, dies zu tun:
for (int i = 0; i < Model.SubmissionTypesSelected.Count(); i++)
{
Html.EditorFor(m => m.SubmissionTypesSelected[i]);
}
SubmissionTypesSelected
ist wie folgt definiert:
public ICollection<PTSubTypeSelected> SubmissionTypesSelected { get; set; }
I Erhalten Sie diese Nachricht:
Kann keine Indizierung auf ein Expre anwenden ssion vom Typ ‚System.Collections.Generic.ICollection‘
Warum verwenden Sie nicht stattdessen eine 'foreach'? –
In dem Beispiel haben Sie 'IList'. In Ihrem Code gibt es 'ICollection '. Das ist nicht das Gleiche. IList ist indexierbar. ICollection ist nicht. Auch, was Yacoub sagte. Iterating 0..Count === foreach, und ICollection ist "foreachable" (wie jedes IEnumerable ist) –
quetzalcoatl
Dies ist Teil eines größeren Problems. Ich habe Sammlungen verschachtelt und kann die Ergebnisse nicht aus der innersten Sammlung abrufen. Ich habe versucht, die Indexmethode zu verwenden, um zu sehen, ob ich das Problem beheben kann. –