2010-10-08 3 views
4

Dans un modèle d'éditeur personnalisé, je souhaite accéder à l'objet parent.Comment accéder à l'objet parent dans un modèle d'édition?

J'utilise ce code, mais cela est sans doute pas la meilleure façon de le faire, en particulier lors de l'utilisation des vues imbriquées:

object parent = ViewContext.Controller.ViewData.Model; 

Est-ce que quelqu'un a une meilleure idée?

Répondre

2

Vous ne devriez pas tenter d'escalader la hiérarchie des modèles, si un éditeur requiert des données supplémentaires, ajoutez-les au modèle ou utilisez ViewData. L'appel à rendre éditeur ressemblerait à quelque chose comme

<%: Html.EditorFor(model => model.EditorModel, new {viewDataKeyName = Model.AdditionalData})%> 

Soyez prudent lorsque vous ajoutez des données vitales pour l'éditeur de cette façon, car il doit être inclus dans chaque appel à ce modèle, c'est la raison pour laquelle je préfère inclure les valeurs dans le modèle lui-même.

Questions connexes