当是MasterPageFile属性的一面检查了它的存在ASP.NET 视web表单视图发动机?

什么我想要做的就是具有下列代码不出错误:

分析器错误信息:该文件'/SomePlaceThatDosentExist/网站。主并不存在。

定义为这样的在我看的。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的生命周期,因此它是可以走的更早些时候在生命周期?

注意到之前你写和答复:

  • 我知道关于返回查看("视图","MasterPageName");
  • 我知道关于动态的主页,但我要完成这个特定任务
有帮助吗?

解决方案

你最好要解决的问题可能是创建一个自定义 VirtualPathProvider

其他提示

如果你想改变的一个集中的是发现可以实现自己的viewengine:

public CustomViewEngine()
{
    MasterLocationFormats = new string[] {
        "~/RealPlace/Site.Master""
    };
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top