Как вы можете найти, какое представление вызвало, какое частичное представление в ASP.Net MVC - PullRequest
2 голосов
/ 22 ноября 2010

Я хотел бы создать вспомогательную функцию отладки, которую я могу использовать в частичном представлении MVC, которое покажет иерархию вызовов рендеринга.

Например, если я помещаю

<%=Html.ShowRenderPath() %>

в мой частичный файл endpoint.ascx, и он вызывается из другого представления (midpoint.ascx) с использованием

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

это вызывалось из другого представления (index.aspx)

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

Я хочу, чтобы вспомогательная функция выписала:

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

Может ли кто-нибудь направить меня в правильном направлении для получения вида, который визуализировал частичное и так далее?

Этотак что я могу отлаживать уже существующее приложение MVC, которое использует много рендеринга, и было бы намного проще, если бы мы могли видеть эти пути рендеринга.

Ответы [ 2 ]

1 голос
/ 22 ноября 2010

Используйте StackTrace для генерации трассировки стека. Из этого вы можете идентифицировать вложенные классы представления / частичного представления (среди прочего). Вы должны быть в состоянии отделить ваши представления от кода платформы через пространства имен.

0 голосов
/ 26 ноября 2010

Спасибо за ответ (upvote за ваши усилия :-)

Решение, которое мы вместо этого нашли, состояло в том, чтобы обновить наш пользовательский механизм представления для вывода комментариев HTML, которые указывают источник каждого представления, тем самым давая разбивку конструкции страницы в представлении источника. Это было выведено только в режиме отладки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...