Когда свойство MasterPageFile представления / страницы проверяется, существует ли оно в механизме представления ASP.NET MVC WebForms?
Я хочу, чтобы следующий код не выводил ошибку:
Сообщение об ошибке Parser: файл '/SomePlaceThatDosentExist/Site.Master' не существует.
Определено как таковое в файле .aspx моего представления:
<%@ Page Language="C#" MasterPageFile="~/SomePlaceThatDosentExist/Site.Master" Inherits="System.Web.Mvc.ViewPage" >
Где мне нужно было бы написать какой-нибудь код для определения действительного свойства MasterPageFile?
В своем пользовательском классе ViewPage я попробовал следующее, которое мои представления наследуют
public override string MasterPageFile
{
get
{
return base.MasterPageFile;
}
set
{
base.MasterPageFile = "~/RealPlace/Site.Master";
}
}
и также попробовал следующее (в классе страницы пользовательского представления, который наследуют мои представления)
protected override void OnPreInit(EventArgs e)
{
base.MasterPageFile = "~/RealPlace/Site.Master";
base.OnPreInit(e);
}
В обоих случаях отображается указанная выше ошибка.
Из того, что я знаю, OnPreInit - это самая ранняя точка в жизненном цикле ViewPage, поэтому возможно ли пойти еще раньше в жизненном цикле?
Обратите внимание, прежде чем написать и ответить:
- Я знаю о возврате View ("ViewName", "MasterPageName");
- Я знаю о динамических главных страницах, но хочу выполнить эту конкретную задачу