Je ne comprends pas certaines notions de base sur les modèles MVC et j'espère obtenir des éclaircissements utiles.MVC Model Instantiation
Dans mon MVC 4 application web, j'ai un modèle de vue qui construit un IEnumerable <SelectListItem> pour un DropDownList, et si je le fais à mon avis:
@model MyApp.Models.MyModel
@Html.DropDownListFor(x => x.MyThingID, Model.MySelectList, "Select...")
je reçois une « référence d'objet non mettre à une instance d'un objet "erreur.
Mais si je fais ceci:
@model MyApp.Models.MyModel
@{ var myModel = new MyApp.Models.MyModel(); }
@Html.DropDownListFor(x => x.MyThingID, myModel.MySelectList, "Select...")
Il fonctionne. Mais cette instanciation explicite me semble terriblement mauvaise, et je ne suis pas sûr si je devrais faire quoi que ce soit dans le contrôleur, qui à ce stade est juste un "bare-bones" return View() "ActionResult.
Je ne trouve pas beaucoup de bons conseils et finalement j'essaie d'implémenter quelques menus déroulants en cascade, donc j'ai besoin de mieux comprendre comment cela fonctionne. Si vous avez le temps et l'envie d'aider, j'apprécierais grandement.
Bien sûr, cela a beaucoup plus de sens. Je vous remercie! – theog