Question

ScottGu dans ce post texte du lien montre comment utiliser EditorTemplates pour des choses telles qu'une Country DropDownList.Ma question est de savoir comment transmettre une liste dynamique de pays au EditorTemplate ?

Était-ce utile?

La solution

Vous pouvez passer dans anti-modèle ).

Autres conseils

Mieux encore vous faites la vue partielle fortement typé et passez le modèle à l'aide EditorFor

@Html.EditorFor(m=>m.SelectedCountry, Model.AvailableCountries)

La solution la plus élégante consiste probablement à utiliser un attribut personnalisé. Vous pourrez accéder ultérieurement aux métadonnées du modèle en utilisant :ViewData.ModelMetadata.

par exemple:

 [Foreign(Type="DropDown", TableName="Countries")]
   public int IdCountry { get; set; }

où ForeignAttribute est une classe que vous devez déclarer, puis l'utiliser pour créer votre modèle d'éditeur.

Semblable à la réponse de @Benja

Vous pouvez également utiliser l'attribut [AdditionaMetaData(key,value)] de la même manière sans avoir à définir votre propre attribut.La clé et la valeur doivent être des chaînes.

Les données supplémentaires peuvent être récupérées dans la vue avec :@ViewData.ModelMetadata.AdditionalValues["DropDownData"]

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top