¿Por qué DropDownListFor no reconoce el valor seleccionado en mi plantilla de editor?
Tengo la siguiente plantilla de editor llamada 'DropDown.cshtml'. loslist
La parte funciona bien, y la plantilla usa algo de vudú que hice para obtener elSelectList
desdeViewData
. El controlador coloca todas las listas de selección en el modelo de vista enViewData
, y no hay nada de malo en el lado de la lista de las cosas.
<code>@{ var list = this.GetModelSelectList(); } @Html.DropDownListFor(m => Model, list) </code>
Utilizo esta plantilla en propiedades de modelo de vista de clave externa como esta:
<code>[Required] [UIHint("DropDown", "MVC", "SelectListName", "JobLevelSelectList")] [Display(Name = "Job Level")] public Guid? JobLevelId { get; set; } public SelectList JobLevelSelectList { get; set; } </code>
En el controlador,JobLevelId
tiene el valor correcto inmediatamente antes de ejecutar la vista, pero ningún elemento que seleccionó en el renderizadoselect
elemento. o más bien, el primer elemento en la lista de selección siempre está seleccionado.
Por queDropDownListFor
¿ignora el valor de la propiedad cuando se utiliza en mi plantilla de editor y aún así funciona bien cuando se invoca directamente?