ビュー/ページの 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"); について知っています。
- 動的マスター ページについては知っているが、この特定のタスクを達成したい