Il y a beaucoup d'options pour gérer cela, mais il y a un moyen très simple que nous avons trouvé pour gérer cela qui ne nécessite pas de re-architecturer l'ensemble de votre application.
Nous avons eu des problèmes similaires, où notre page/partiel a un type ViewData.Model bien défini, mais la vue contient un partiel qui est réutilisé sur plusieurs pages. Nous avons également essayé d'éviter d'utiliser ViewDataDictionary. Cependant, nous avons trouvé que le cas que vous décrivez est exactement le scénario EXACT où nous aimons utiliser une entrée ViewDataDictionary. Nous conservons une classe de constantes statique dans notre modèle d'application qui contient des classes internes pour chaque type de constante, y compris les clés ViewData, ce qui fait que nous n'avons pas de chaînes pour que ces choses flottent partout.
Ensuite, notre action Contrôleur remplit la clé ViewData et le partiel dans l'autre page/vérifie partiellement l'existence de cette clé et l'utilise à la place de ViewData.Model. Il rend le travail partiel partout où il le faut et garde votre ViewModel propre. En utilisant des constantes, nous évitons les chaînes brutes partout.
Je crois que vous faites allusion à RenderAction pas renderPartial de l'ensemble à terme. –
Vous avez raison, merci - J'ai modifié l'affichage. :) –