0

J'ai juste rencontré des problèmes avec le AreaDescriptionFilter de Spark en utilisant MVC 2 Beta.SparkViewEngine, RenderAction et zones avec ASP MVC 2 Beta?

La ligne suivante provient de mon fichier Application.spark. Il en résulte que le moteur de vue regarde dans tous les emplacements possibles de la vue - sauf dans les dossiers de la zone "Shell".

# Html.RenderAction("ShowMainMenu", "Navigation", new { area = "Shell" });

L'exécution de la même action à l'aide http://localhost/Shell/Navigation/ShowMainMenu fine et reconnaît exécute le répertoire de vue de la région comme prévu.

Des idées pour résoudre ce problème?

Répondre

1

Il existe un bogue connu avec Spark et certaines des méthodes de rendu. Avez-vous essayé d'extraire la dernière version de Spark directement à partir de son référentiel source?

+0

Merci pour l'astuce - j'ai regardé et malheureusement, ce n'est pas aussi simple que cela. Spark essaie de trouver la zone à l'aide: context.RouteData.Values.TryGetValue (« zone », en valeur) Les paramètres corrects apparaissent dans certains dictionnaires suivants en fonction de la propriété IsChildAction du contexte: contexte. RouteData.DataTokens context.RequestContext.RouteData.DataTokens context.RequestContext.RouteData.Values ​​ ... la question est de savoir où le framework devrait les mettre par défaut (bogues de côté) pour Actions & ChildActions? Je vais essayer de le fixer rapidement avec un "si" pour l'instant ... – scooby37

0

Il faut un peu de modification du code, mais il est une solution relativement facile: Lire la answer to a similar question here.

+0

Merci - je n'ai pas vu ce post - mais il semble que ce soit seulement un endroit pour commencer à regarder dans mon cas - détails voir ci-dessous ... – scooby37

0

est-il pas un décalage de cas? Au lieu de la zone =

Html.RenderAction("ShowMainMenu", "Navigation", new { area = "Shell" }); 

vous devriez avoir la région =

Html.RenderAction("ShowMainMenu", "Navigation", new { Area = "Shell" }); 
+0

En fait, il devrait être en minuscules. Tous les paramètres tels que "controller", "action" et "id" sont par convention en minuscules. Le problème était une sorte de conflit entre l'une des versions d'aperçu de MVC2 et SparkViewEngine - cela fonctionne bien maintenant! – scooby37