Я следую за решением Chris Pietschmann для theming в ASP.NET MVC.
Одна вещь, которую я заметил, состоит в том, что имя представления не получается от ViewLocationCache по последующим запросам. Я использую ASP.NET MVC 2.0 RC
Когда следующий код выполнен:
this.ViewLocationCache.InsertViewLocation(controllerContext.HttpContext, cacheKey, virtualPath);
и я нависаю над этим. ViewLocationCache это просто возвращает {Систему. Сеть. Mvc. NullViewLocationCache} - предложение ничего был добавлен?
ViewlocationCache
работает только в режиме выпуска по умолчанию (настройка
в web.config
).
Чтобы включить ViewLocationCache
в режиме отладки:
В пользовательском режиме просмотра, наследующуюся от WebFormViewEngine
, установите ViewlocationCache
в конструкторе ViewEngine, подобное так:
public MyCustomViewEngine()
{
ViewLocationCache = new DefaultViewLocationCache();
}
Вы также можете переопределить значения Timespan по умолчанию, если вы хотите.