J'ai un site utilisant une seule page master.page. Dans la page master.page, j'ai un contrôle utilisateur fortement typé (.ascx) appelé "ControlPanel". Son type est ControlPanelViewModel.Imbrication d'un contrôle fortement typé dans la page maître ASP.NET
Voici la page de mater - MasterFrame.master:
<%@ Master Language="C#" Inherits="System.Web.Mvc.ViewMasterPage" %>
<body>
<% Html.RenderPartial("ControlPanel"); %> <!-- Here I need to pass the ControlPanelViewModel -->
<!-- main content area -->
</body>
</html>
Voici la page de contrôle personnalisé - ControlPanel.ascx:
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<ControlPanelViewModel>" %>
<!-- Some content which are using the ControlPanelViewModel -->
Maintenant, la question est de savoir comment envoyer le ControlPanelViewModel correct contrôle personnalisé de la page maître? Quelle est la meilleure approche? Existe-t-il une sorte de bonne pratique ou de modèle de conception pour ce cas?
Je sais que :), donc vous dites que la meilleure approche consiste à utiliser une page maître fortement typée? – devfreak
Ouais, en utilisant peut-être [cette méthode] (http://stackoverflow.com/questions/710499/asp-net-mvc-passing-strongly-typed-data-to-master-page/710774#710774). – svick
Je l'aime, mais je ne veux pas lier tous mes modèles de vue à la vue du modèle de page maître (en hériter). Puis-je utiliser cette méthode sans la partie héritage? – devfreak