2010-11-22 5 views
2

Je voudrais créer une fonction d'assistance de débogage que je peux utiliser dans une vue partielle MVC qui montrera ce qu'est la hiérarchie d'appel de rendu.Comment pouvez-vous trouver quelle vue appelée quelle vue partielle dans ASP.Net MVC

Par exemple, si je place

<%=Html.ShowRenderPath() %> 

dans mon appelé partielle endpoint.ascx et il est appelé d'une autre vue (midpoint.ascx) en utilisant

<% Html.RenderPartial("endpoint") %> 

et cela a été appelé d'une autre vue (index.aspx)

<% Html.RenderPartial("midpoint") %> 

Je veux que la fonction d'aide pour écrire:

~/vues/test/index.aspx -> ~/vues/test/midpoint.ascx -> ~/vues/test/endpoint.ascx

quelqu'un peut me diriger dans la bonne direction pour obtenir la vue qui a rendu une partielle et ainsi de suite? C'est ainsi que je peux déboguer une application MVC déjà existante qui utilise de nombreux espaces de rendu et il serait beaucoup plus facile si nous pouvions voir ces chemins de rendu.

Répondre

0

Merci pour la réponse (upvote pour vos efforts :-)

la solution que nous avons trouvé à la place était de mettre à jour notre moteur de vue personnalisée de sortie commentaires HTML qui indiquent la source de chaque vue donnant ainsi une ventilation des construction de la page dans la vue source. Cela a été produit uniquement en mode débogage.

1

Utilisez StackTrace pour générer une trace de pile. À partir de là, vous pouvez identifier les classes de vue/vue partielle imbriquées (entre autres choses). Vous devriez pouvoir séparer vos vues du code du framework via les espaces de noms.

Questions connexes