8
votes

Peupler Dropdownlist en MVC 5

Voici mon code pour mon addNewProDuckviewModel strud> xxx pré>

Voici mon STRY> CREATE STRY> PROCÉDÉ DANS MON CONTROLEUR P>

@Html.DropDownListFor(model => model.SelectedCategoryId,


4 commentaires

Vous n'avez pas de propriété nommée catégorie qui est un objet complexe qui possède la propriété ID (propriété catégorie est une liste )


Vous avez besoin d'une propriété supplémentaire (disons) int CatégorieId pour lier la liste déroulante (et vous suggère de nommer votre collection (dites) catégorie de catégorie de sorte que vos propriétés sont claires


@Stephenmuecke J'ai mis à jour mon code et plus je le change plus, plus je reçois. Pouvez-vous, selon mon code (laissez-moi savoir si vous avez besoin de plus de code) Montrez-moi comment je peux accomplir cela. J'ai tout essayé jusqu'à présent


Meilleure supposion est que c'est que cela fonctionne lorsque vous rendantez la vue (en supposant que catégories est renseignée correctement) et que vous obtenez cette exception lorsque vous postez et renvoyez la vue. Vous utilisez de Vue de retour ("Créer"); ne renvoie pas le modèle SO Nouvellelist (modèle.catégories ... jette une exception car modèle.Catégories est NULL. Vous devez ré-remplir la collection d'abord et utiliser la vue retour (modèle);


3 Réponses :


1
votes

Utilisez votre contrôleur pour créer la liste, puis appelez la liste de la vue.

Contrôleur: xxx

Appelez le Dropdown: xxx


1 commentaires

Je suggérerais une méthode d'assistance non statique et de remplir une vue de vue avec celle-ci dans votre méthode d'action. Essayez de limiter le nombre d'appels du modèle de rasoir, sauf la lecture de la vue.



3
votes

Je changerais d'abord votre viewModel pour inclure un sélectionnéCategoryId CODE> et je modifierais vos options pour être Catégories code>.

sans voir le code de votre CODE> Je pratique produitCategory code> est quelque chose comme ce qui suit: p>

<div class="form-group">
     @Html.LabelFor(model => model.Categories, new { @class = "control-label col-md-2" })
        <div class="col-md-10">
            @Html.DropDownListFor(model => model.SelectedCategoryId, 
            new SelectList(Model.Categories, "Id", "Name"), "- Please Select -")
            @Html.ValidationMessageFor(model => model.Categories)
        </div>
</div>


0 commentaires

9
votes

J'ai résolu le problème (grâce à tout le monde pour les conseils). C'est pour quiconque qui peut avoir des problèmes comme je l'étais.

J'ai changé ma méthode Create à ressembler à ce que: xxx

mon < Strong> addNewProDuctViewModel semble donc: xxx

la> à ma vue: xxx

merci pour l'aide tout le monde :)


0 commentaires