2010-11-22 3 views
2

Ich möchte eine Debug-Hilfsfunktion erstellen, die ich innerhalb einer MVC-Teilansicht verwenden kann, die die Rendering-Aufrufhierarchie zeigt.Wie finde ich welche Ansicht aufgerufen, welche Teilansicht in ASP.Net MVC

Zum Beispiel, wenn ich

<%=Html.ShowRenderPath() %> 

in meinem Teil genannt endpoint.ascx platzieren und es aus einer anderen Ansicht (midpoint.ascx) mit

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

und diese aus einer anderen Ansicht aufgerufen wurden aufgerufen (index.aspx)

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

ich möchte, dass die Hilfsfunktion schreiben:

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

kann jemand mich in die richtige Richtung weisen die für immer Ansicht, die eine partielle gemacht und so weiter?

Dies ist so, dass ich eine bereits bestehende MVC-App debuggen kann, die viele Renderpatials verwendet, und es wäre viel einfacher, wenn wir diese Rendering-Pfade sehen könnten.

Antwort

0

Danke für die Antwort (upvote für Ihre Bemühungen :-)

die Lösung, die wir gefunden haben, stattdessen war es, unsere eigene Ansicht-Engine zur Ausgabe von HTML-Kommentare zu aktualisieren, die die Quelle jeder Ansicht anzeigen, wodurch ein Abbau der Angabe Seitenaufbau in der Quellansicht. Dies wurde nur im Debug-Modus ausgegeben.

1

Verwenden Sie StackTrace, um einen Stack-Trace zu generieren. Daraus können Sie unter anderem die verschachtelten View/Partial View-Klassen identifizieren. Sie sollten in der Lage sein, Ihre Ansichten über die Namespaces vom Framework-Code zu trennen.

Verwandte Themen