Получите название контроллера в поле зрения шаблон T4

У меня есть проблема, подобная той, описанной здесь: MVC T4 MvcTextTemplateHost и Специализированный "Контроллер" Шаблон T4, но надо надеяться, более простой.

У меня есть пользовательское Представление шаблоны (View.tt, Create.tt) для ASP.NET проект MVC. Я не могу выяснить, как получить название контроллера в этих шаблонах представления. mvcHost. ControllerName и mvcHost. ControllerRootName оба являются пустыми, в поле зрения обрабатывает по шаблону. Однако где-нибудь в конвейерном контроллере название известно, так как представление создается интервал папка ControllerName. Я хочу обратиться к нему в самом шаблоне.

А именно, я хочу генерировать HTML.ActionLink("Edit", MVC..Edit(id)) вместо HTML.ActionLink("Edit", "Edit", new {id = item.id})

Действительно ли возможно получить название контроллера в шаблоне View?

10
задан Community 23 May 2017 в 12:08
поделиться

1 ответ

Я не думаю, что есть способ получить эту информацию в MVC 1.0 или MVC 2. Свойства ControllerRootName и ControllerName из хоста предназначены для шаблонов T4 контроллера, а не для шаблонов T4 представления.

Я посмотрю, можем ли мы добавить больше информации в хост T4, чтобы включить эти свойства при генерации представлений.

Причина того, что сгенерированный файл появляется в нужной папке, заключается в том, что система проекта MVC берет вывод шаблона T4 и помещает его туда. Сама система T4 не участвует в этом процессе.

3
ответ дан 4 December 2019 в 02:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: