Des résultats ?
J'ai pu héberger une vue spark dans un System.Web.Mvc.ViewUserControl et appeler Html.RenderView() à partir de la vue spark. Je parie que je pourrais aussi héberger une vue Spark dans un System.Web.Mvc.ViewUserControl en utilisant Html.RenderView(). Cela introduit quelques options (toutes avec des frais généraux) de partage de la page maître :
-
Ecrivez un simple wrapper .ascx pour vos vues .spark. Elles ont le même objet modèle, le wrapper peut appeler HtmlRenderPartial sur la vue enveloppée.
-
(vice versa) Écrire un simple wrapper .spark pour vos contrôles .ascx.
Lorsque j'ai essayé de faire en sorte que la vue Index.spark utilise la page maître Site.Master, j'ai reçu un message d'erreur :
The view 'Index' or its master could not be found. The following locations were searched:
~/Views/LfgSettings/Index.aspx
~/Views/LfgSettings/Index.ascx
~/Views/Shared/Index.aspx
~/Views/Shared/Index.ascx
Layouts\Site.spark
Shared\Site.spark
Je ne sais pas ce que ces chemins représentent, il semble que ce soit le chemin de recherche de la vue Index et le chemin de recherche de sa page principale. Il semble que le fichier .spark ne puisse pas utiliser une page maîtresse .master.
Je me demande cependant s'il est possible d'écrire un fichier .master enveloppant qui fait appel à un fichier .spark qui a les régions de contenu correctes. Un peu de Reflector'ing permettrait probablement de trouver des interfaces qui pourraient fonctionner ensemble.