T4MVC прохладен, но у меня есть несколько проблем, интегрирующих его в моем проекте, любая справка действительно ценится:
У меня есть такие предупреждения для всех моих действий (я использую SnippetsBaseController
как базовый класс для всех моих классов контроллера:
Предупреждение 26 'Отрывков. Контроллеры. ErrorController. Действия скрывают наследованного участника 'Отрывки. Контроллеры. Основа. SnippetsBaseController. Действия. Используйте новое ключевое слово, если сокрытие было предназначено. C:\projects_crisp-source_crisp\crisp-snippets\Snippets\T4MVC.cs 481 32 Отрывка
Это возможный иметь названия со строгим контролем типов пользовательских Маршрутов, например, у меня есть маршрут, определенный как это:
routes.MapRoute(
"Feed",
"feed/",
MVC.Snippets.Rss()
);
Это возможный заменить:
<%= Url.RouteUrl("Feed") %>
с чем-то как:
<%= Url.RouteUrl(MVC.Routes.Feed) %>
Наличие ссылок со строгим контролем типов на статические файлы действительно прохладно, но я использую <base />
на моих страницах, таким образом, мне не нужна никакая обработка URL, может я переопределять T4MVCHelpers.ProcessVirtualPath
не настраивая T4MVC.tt
самостоятельно?
T4MVC всегда генерируют ссылки с uppercased контроллером и именами действия, например:/Snippets/Add вместо/snippets/add. Действительно ли возможно генерировать их нижний регистр?
Можете ли вы сделать свой базовый класс контроллера абстрактным? Я думаю, что это исправит.
См. Этот пост, в котором обсуждается это: http://forums.asp.net/t/1535567.aspx
Если вы посмотрите в t4mvc.settings.t4, вы увидите метод ProcessVirtualPathDefault, который вы можно изменить, не касаясь основного файла .tt.
См. http://forums.asp.net/t/1532057.aspx . Там предлагается исправление, хотя оно еще не было отправлено (но вы можете попробовать).
Дэвид