Je me demande - quelle est la meilleure façon de fournir des informations contextuelles (c'est-à-dire non liées à une vue particulière, mais à toutes les vues en même temps) à une vue (ou maîtriser page)?Passage des informations contextuelles aux vues dans ASP.NET MVC
Envisagez le scénario suivant. Supposons que nous ayons une application prenant en charge plusieurs langues de l'interface utilisateur. L'utilisateur peut les changer via les widgets de l'interface utilisateur (quelque chose comme des onglets en haut de la page). Chaque langue est affichée sous la forme d'un onglet distinct. L'onglet pour la langue en cours ne doit pas être rendu.
Pour répondre à ces exigences, je prévois d'avoir une pièce javascript qui va cacher l'onglet de langue du client actuel. Pour ce faire, j'ai besoin de l'ID de l'onglet de langue actuel sur le client. Donc, j'ai besoin d'un moyen de passer l'Id à la page maître (pour qu'il soit "fusionné" dans le script js). La meilleure chose que je peux penser est que tous mes ViewModels doivent hériter de ViewModeBase qui a un champ pour contenir l'ID de l'onglet de langue en cours. Ensuite, quel que soit l'affichage que je visualise, cet ID sera toujours disponible pour le script de masquage de la page maître.
Cependant, je crains que ce ViewModelBase peut potentiellement croître de façon incontrôlée que le nombre de ces éléments d'information contextuelle (comme langue courante) augmentera ..
Toutes les idées?
Merci pour la réponse! Pour éviter l'encombrement dans les contrôleurs, je crée mes modèles de vue à travers une usine. Ainsi, l'usine est chargée de remplir les propriétés de ViewModelBase. – Ant