Więc mam następujący (pseudo kod):mvc C# Html.DropDownList i 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;
na mój widok:
<%: Html.DropDownList("Codes", (List<SelectListItem>)ViewBag.ListOfCodes , new { style = "max-width: 600px;" })%>
teraz, zanim dotrze on pogląd, "Wykaz" zapełnił je elementami i zaznaczył element, który jest już wybrany. ale gdy dojdzie do widoku, żadna z opcji nie jest zaznaczona jako wybrana.
moje pytanie brzmi, czy można użyć plecaka do przenoszenia przedmiotów, czy powinienem użyć innego medium? ponieważ usuwa wybraną flagę z opcji, jeśli używam jej w ten sposób.
Czy możesz przerwać w kontrolerze i sprawdzić, czy co najmniej jeden element 'list' został oznaczony jako' Selected = true; '? Nie sądzę, że ViewBag miesza się z twoją listą. – StuartLC
tak, zrobiłem to i zaznaczam właściwą opcję. – gdubs