Как я могу показать, какие cshtml файлы создают мою страницу?
Сценарий
Моя команда строит довольно сложный сайт MVC3/C#. В последнее время произошел некоторый рефакторинг, и многие представления, частичные представления и шаблоны были перемещены. Когда я смотрю на одну из наших страниц, трудно сказать, какой файл cshtml отвечает за какой фрагмент страницы. Я бы хотел быстрее узнать, над каким файлом я должен работать.
Почему это проблема
- На нашем уровне представления много файлов, а структура папок сложная.
- Некоторые файлы cshtml имеют одинаковые имена, но разные пути к файлам.
- Наши таблицы маршрутизации также сложны.
- Мы широко использовали макеты, общие представления, частичные представления и шаблоны. На одной странице может быть более 10 файлов cshtml, создающих ее.
- Большая часть текста на стороне клиента происходит из строк ресурсов, поэтому я не могу просто нажать Ctrl-F для текста на странице.
- Прохождение через отладчик не экономит мне много времени.
Ничто из этого не является шоу-стопором, но это отнимает много времени.
Что я хочу
Когда я запускаю его на локальном хосте (только), я бы хотел, чтобы визуализированный HTML получился примерно так:
<!-- From: ~/shared/_layout.cshtml -->
<html>
<body>
<!-- From: ~/admin/view.cshtml -->
<h1>Here comes a list of widgets:</h1>
<!-- From: ~/widgets/list.cshtml -->
<ul>
<!-- From: ~/widgets/view.cshtml -->
<li>Widget 1</li>
...etc.
Я был бы открыт для других способов получения необходимой мне информации, включая сторонние инструменты.
Идеи до сих пор
Моя идея состояла в том, чтобы настроить базовый класс, который мы используем для нашего pageBaseType
, но я немного новичок в MVC (< 1 год), и это все еще немного над моей головой. Я не уверен, какой метод переопределить или как получить и отобразить имя файла представления.
1 ответ
Для такого рода отладки доступны несколько пакетов nuget:
http://nuget.org/packages/Glimpse.Mvc3