Essayer de lier deux liste déroulante du contrôleur à afficher dans l'étape ci-dessous, mais obtenir l'erreur:
"Impossible de lancer l'objet de type "System.Collections.Generic.List
1 [SMART.MODELS.SHIFTT_DETAILLS]" Pour taper 'System.Collections.Generic.Inédiricere code> 1 [System.web.mvc.selectLisTiTem] "." P > blockQuote>
aucune idée de la façon de la résoudre sera appréciée. p>
Classe de modèle: P>
@Html.DropDownList("SelectedEmployee",new SelectList((IEnumerable<SelectListItem>) ViewData["shift_details"]), "ShiftId", "ShiftVal") @Html.DropDownList("SelectedEmploe", new SelectList((IEnumerable<SelectListItem>)ViewData["Flag_details"]), "FlagId", "FlagVal")
3 Réponses :
Si vous utilisez dans le contrôleur p> ViewData code>, vous n'aurez pas besoin
@ html.dropdownlist code>. Utilisez
sélectionneuse code>
ViewData["shift_details"] = new SelectList(GetShift_details(), "ShiftId", "ShiftVal");
Mais la valeur n'est pas contraignante dans la liste déroulante et est ASP-for et ASP-Etats peut être utilisée dans la syntaxe de rasoir MVC.
Je préfère créer le code> sélectionnez code> dans le contrôleur. Exemple ci-dessous.
<select asp-for="ShiftId" class ="form-control" asp-items="ViewBag.shift_details"> </select> <select asp-for="FlagId" class ="form-control" asp-items="ViewBag.Flag_details"> </select>
Mais la valeur n'est pas contraignante dans la liste déroulante et est ASP-for et ASP-Etats peut être utilisée dans la syntaxe de rasoir de la vue MVC.
Pour résoudre votre erreur. Modifiez les types de retour de vos méthodes privées de retour des listes de retour pour renvoyer un type iEnumerable correspondant plutôt p>
iNeumable privé