Compartir vía


Artículos y tutoriales recomendados de MVC

Por Rick Anderson

Introducción

Trabajar con datos

Seguridad

Azure

Rendimiento y depuración

DropDownListFor con SelectListItem en ASP.NET MVC

Al usar el asistente DropDownListFor y pasarle la colección de SelectListItem desde la que se rellena, DropdownListFor modifica la colección pasada después de la llamada. DropdownListFor cambia las propiedades seleccionadas de SelectListItems a las selecciones realizadas en la lista desplegable. Esto genera un comportamiento inesperado.

Los elementos DropDownListFor, DropDownList, EnumDropDownListFor, ListBox y ListBoxFor actualizan la propiedad seleccionada de cualquier IEnumerable<SelectListItem> que se haya pasado o se encuentre en ViewData.

La solución consiste en crear enumerables independientes que contengan instancias distintas de SelectListItem para cada propiedad del modelo.

Para obtener más información, consulte GetSelectListWithDefaultValue modifica IEnumerable<SelectListItem> selectList