Por lo tanto, tienen el siguiente (pseudo código):mvc C# html.dropdownlist y viewbag
string selectedvalud = "C";
List<SelectListItem> list= new List<SelectListItem>();
foreach(var item in mymodelinstance.Codes){
list.Add(new SelectListItem { Text = item.Name, Value = item.Id.Tostring(), Selected = item.Id.ToString() == selectedvalue ? true : false });
}
ViewBag.ListOfCodes = list;
en mi punto de vista:
<%: Html.DropDownList("Codes", (List<SelectListItem>)ViewBag.ListOfCodes , new { style = "max-width: 600px;" })%>
ahora, antes de que llegue al punto de vista, la "lista" lo ha llenado con elementos y ha marcado el elemento que ya está seleccionado. pero cuando llega a la vista, ninguna de las opciones está marcada como seleccionada.
mi pregunta es, ¿es posible utilizar una viewbag para pasar los artículos o debería usar un medio diferente? ya que elimina el indicador seleccionado en las opciones si lo uso de esa manera.
¿Puede un punto de interrupción en su controlador y comprobar que al menos un elemento de 'list' ha sido etiquetado como' Selected = true; '? No creo que ViewBag esté jugando con tu lista. – StuartLC
sí lo hice y está marcando la opción correcta. – gdubs