Question

(référence I ce tutoriel dans ce texte)

Je veux utiliser les aides Html.EditorFor (ou Html.Editor).

Si un besoin UserControl données supplémentaires il est passé par

...EditorFor(model => model.Album, new { Artists = Model.Artists, ... })

Dans le UserControl il est accessible via ViewData [ stringKey ] , soit

... new SelectList(ViewData["Artists"] as IEnumerable, ...

Pour moi, cela sent un peu louche comme je préfèrent un fortement typé ViewModel qui assure que les données spécifiques est disponible.

Je suis maintenant un peu coincé que je ne sais pas Wheater il y a une « façon tapé » pour trouver ou j'accepte cette façon-est.

Comment avez-vous résolu ce problème? Toute aide appréciée!

Lg
warappa

Était-ce utile?

La solution

Je changerait probablement mon modèle de vue afin que je ne ai pas besoin de transmettre ces informations supplémentaires. Vous pourriez faire par exemple un album a une collection d'artistes. Maintenant, tout ce tha vous aurez à faire est:

<%: Html.EditorFor(model => model.Album) %>

Et dans votre modèle de l'éditeur:

<%: Html.DropDownListFor(x => x.SelectedArtist, new SelectList(Model.Artists)) %>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top