selectlistitem net mvc llenar drop down cshtml asp asp.net-mvc drop-down-menu selectlist

asp.net-mvc - net - llenar un selectlistitem



Alguien me explique Html.DropDown y es su mejor amigo SelectList (3)

Siento tu dolor. Perdona el plug desvergonzado, pero podrías mirar MvcFluentHtml . Aún puede usar SelectList y MultiSelectList, pero tiene otras opciones. Debería funcionar bien con carpetas.

Si revisas mis preguntas anteriores, es posible que hayas notado que simplemente no obtengo SelectList y Html.DropDown (). Me parece intrigante que parezca ser el único en esto. Así que tal vez debería intentar cambiar mi forma de pensar o tal vez hay cosas que no sé que aclararán todo esto. Realmente me encanta todo el framework MVC, pero SelectList simplemente no quiere encajar en mi cabeza. Así que aquí está mi lista:

SelectList

  • ¿Por qué no puedo establecer el valor seleccionado después de la instanciación?
  • ¿Por qué no puedo establecer selectedValue por índice de elementos?
  • ¿Por qué el valor seleccionado es a veces una cadena, a veces la clase que pongo en ella y, a veces, un ListItem?
  • ¿Por qué los artículos solo son accesibles a través de GetItems ()?
  • ¿Por qué los tipos de selectedItem y listItems no coinciden?
  • ¿Por qué los elementos que coloca en la lista se convierten en listItem y selectedItem no?
  • ¿Por qué no puedo obtener el conteo de los artículos sin usar el método GetItems ()?

Html.DropDownList ()

  • ¿Por qué el modelbinding no funciona?
  • ¿Por qué no hay comportamiento para la selección predeterminada cuando solo hay una opción
  • ¿Por qué no hacer un elemento SelectedValue en la fuente selectList lo convierte en el elemento marcado?

Antes las personas me sugieren que escriba la mía:
Como esto se enviará con el producto MVC, preferiría tener el soporte oficial para un control básico y luego hacer mi propio y tener todos los problemas que conlleva.


Del mismo modo, he tenido varios errores con los HTML Helpers, pero ninguno más que SelectList. Para agregar a la lista de reclamos, me gustaría saber por qué SelectList no acepta (o no puede manejar) IEnumerable<T> genérico. Una vez más, podría resolver su propia implementación, pero IEnumerable<T> habilitaría una gran cantidad de funcionalidades útiles (como soporte directo para LINQ / Entity Framework) y creo que deberían proporcionarse.

MvcFluentHtml (ahora parte de MvcContrib ) parece una buena adición.


Entiendo la mayoría de sus preguntas, y, curiosamente, ¡aún no he encontrado ningún problema! Sin embargo, puedo estar usando exactamente cómo los desarrolladores de MVC me quisieron y no tuvieron que aventurarse demasiado fuera de la caja.

Pero espero poder ayudarlo un poco, aquí hay un ejemplo de cómo uso SelectList y las propiedades que configuro:

<%= Html.DropDownList("Module.Status", new SelectList(ViewData.Model.Statuses, "ID", "Name", ((int)ViewData.Model.Module.Status)), new {tabindex = 1, title = "Status"}) %>

y en mi acción de controlador uso un ModelBinder (¿estabas diciendo que esto no funciona?) no estoy seguro de qué problemas estás encontrando allí, el mío va bien.

public ActionResult Save(int? id, [Bind(Prefix = "Module", Include = "Name,Description,Status")] Module module)

Entonces se puede acceder al estado, en mi caso por " module.Status ".