Zalecane samouczki i artykuły dotyczące wzorca MVC

Autor: Rick Anderson

Wprowadzenie

Praca z danymi

Zabezpieczenia

Azure

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, EnumDropDownListFor, DropDownList, ListBox i ListBoxFor aktualizują właściwość Selected dowolnych 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 Modifies IEnumerable<SelectListItem> selectList.