Zalecane samouczki i artykuły dotyczące wzorca MVC

Autor: Rick Anderson

Wprowadzenie

Praca z danymi

Zabezpieczenia

Azure

Wydajność i debugowanie

ASP.NET MVC DropDownListFor z SelectListItem

W przypadku korzystania z DropDownListFor pomocnika oraz przekazywania mu kolekcji SelectListItem, z której czerpie dane, DropdownListFor modyfikuje tę przekazaną kolekcję po jego wywołaniu. DropdownListFor SelectListItems zmienia właściwości zaznaczone na tę, która została wybrana z listy rozwijanej. Prowadzi to do nieoczekiwanego zachowania.

DropDownListFor, DropDownList, EnumDropDownListFor, ListBox i ListBoxFor aktualizują właściwość Selected wszystkich IEnumerable<SelectListItem> przekazanych lub znalezionych w ViewData.

Obejście polega na utworzeniu oddzielnych kolekcji wyliczających, zawierających odrębne instancje SelectListItem dla każdej właściwości w modelu.

Aby uzyskać więcej informacji, zobacz GetSelectListWithDefaultValue, który zmienia IEnumerable<SelectListItem> selectList