何时检查视图/页面的 MasterPageFile 属性是否存在于 ASP.NET MVC WebForms 视图引擎中?
我想要做的是让以下代码不输出错误:
解析器错误消息:文件“/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 生命周期中的最早点,那么是否有可能在生命周期中更早地进行?
在你写和回答之前注意:
- 我知道 return View("ViewName", "MasterPageName");
- 我知道动态母版页,但我想完成这个特定任务