EDIT: Okay, ora sembra che tu abbia passato Count
non esecuzione:
Ma Conte è sempre == 1
Suona come sei sempre recuperare una lista con esattamente una voce in. Se ciò è inaspettato, si dovrebbe guardare perché si ottiene solo una singola voce - iniziare con il debug nel codice ... questo non suona come un problema Razor a tutti.
Se il valore fosse davvero un List<T>
per alcuni T
, credo che dovrebbe andare bene. L'espressione ViewBag.EquipmentList.Count
dovrebbe valutare dinamicamente in ogni punto.
In altre parole, se si sta realmente utilizzando il codice di assegnazione mostrato, dovrebbe essere ok.
Se, tuttavia, il valore è solo un'implementazione di IEnumerable<T>
che non significa esporre una proprietà Count
, allora avresti bisogno di utilizzare il metodo Enumerable.Count()
estensione - e non è possibile utilizzare il normale "metodo di sintassi di estensione "con digitazione dinamica. Una semplice correzione sarebbe quella di utilizzare:
Enumerable.Count(ViewBag.EquipmentList)
... che sarà ancora possibile utilizzare la tipizzazione dinamica per la argomento-Enumerable.Count
, ma non dovrà trovare il metodo Count()
come un metodo di estensione.
In alternativa, assicurarsi che il proprio valore sia effettivamente List<T>
. Se in realtà è un array, dovresti essere in grado di modificare il codice per utilizzare invece la proprietà Length
.
fonte
2012-10-22 16:35:01
buon occhio sull'errore di battitura, ma ancora lo stesso errore, l'errore di battitura solo esistente sul mio post – Pinch
@Pinch: Beh, è stato qualcosa * altro * nel tuo post non corretto? Stai * davvero * chiamando ToList? –
:) Sì..ora va bene In realtà ... Ho appena notato @ ViewBag.EquipmentList.Count funziona ma è sempre = 1 – Pinch