У меня возникла проблема с пользовательским ViewEngine. Я пытаюсь переопределить метод FindView, чтобы установить мастер-представление, не определяя его на каждой странице просмотра.asp.net mvc 2: установить главную страницу в FindFeView WebFormViewEngine
public override ViewEngineResult FindView(ControllerContext controllerContext, string viewName, string masterName, bool useCache)
{
if (string.IsNullOrEmpty(masterName))
{
masterName = this.MasterView;
}
return base.FindView(controllerContext, viewName, masterName, useCache);
}
Из отладчиков просмотра все выглядит нормально: Я не установить свойство MasterPageFile на странице просмотра, masterName приходит как пустая строку, masterName получает значение this.MasterView (который получает набор инициализации просмотреть двигатель).
Проблема: браузер отображает «Элементы управления содержимым разрешены только на странице содержимого, которая ссылается на главную страницу». без отладки.
Кто-нибудь знает, почему или если это даже ожидаемое поведение?
Заранее благодарен!
Да, так я тоже это делаю. – bzlm
Да ... может быть, есть способ изменить приоритеты просмотров или что-то в этом роде, чтобы не было необходимости в ясности ... кто знает ;-) –