Как создать ссылки во вложенных папках в T4 для ASP.NET MVC?

Мы используем T4MVC для создания ссылок на наши сценарии и контент. Мы добавили папки Script в некоторые из наших областей и хотим, чтобы T4MVC также генерировал ссылки для них.

Мы пытались изменить его, чтобы добавить его как строку в T4MVC.tt.settings.t4, но, к сожалению, безуспешно. Ссылки на папку Areas/Webcard/Scripts не созданы:

readonly string[] StaticFilesFolders = new string[] {
    "Scripts",
    "Content",
    "App_Sprites",
    "Areas/Webcard/Scripts"
};

Как создать ссылки для новой папки, когда я добавляю папку в каждую область?


person ŁukaszW.pl    schedule 03.06.2011    source источник


Ответы (1)


Не похоже, что StaticFilesFolders поддерживает/распознает разделитель пути. Однако он обрабатывает элементы рекурсивно, поэтому вы можете попробовать просто добавить "Areas" в список StaticFilesFolders вместо "Areas/Webcard/Scripts". Это должно позволить вам получить доступ к сценариям, таким как @Links.Areas.Webcard.Scripts.Script1_js.

person ataddeini    schedule 03.06.2011
comment
Привет .. спасибо за это, но идентификатор не работает для нас .. он будет генерировать много мусора, например. ссылки на соперничество и т.д... любые другие идеи? - person ŁukaszW.pl; 03.06.2011
comment
@ ŁukaszW.pl: Не уверен, что еще вы могли бы попробовать, помимо изменения самого шаблона T4, для создания кода, поддерживающего синтаксический анализ путей. Это, вероятно, то, что я бы попробовал дальше. Либо это, либо переоценка структуры вашего проекта для работы с базовой StaticFilesFolders обработкой. - person ataddeini; 03.06.2011
comment
Если кто-то закодирует это, я с радостью добавлю его в официальный шаблон. - person David Ebbo; 03.06.2011
comment
@David Ebbo: Звучит неплохо, Дэвид. Я могу сделать это в эти выходные, если у меня будет такая возможность. - person ataddeini; 04.06.2011
comment
Вау... ребята, это так здорово :P Пожалуйста, дайте нам знать в этом разделе, когда вы это сделаете ;) Спасибо за совет ataddeini ;) - person ŁukaszW.pl; 04.06.2011