現在、テーマのサポートを追加するために、古い ASP.NET MVC 1 アプリケーションで開発しています。私はウェブを見回して、これまでうまく機能する独自の ViewEngine を構築することができました。唯一の問題は、私の持っていたものを叩くことです。
WebFormViewEngine の次のメソッドを上書きしました。
public override ViewEngineResult FindView(
ControllerContext controllerContext,
string viewName,
string masterName,
bool useCache)
このメソッドでは、テーマ サポートの場所の形式を設定しています。残念ながら、masterName パラメータは常に空です。だから私はチェックする必要があります
if (string.IsNullOrEmpty(masterName))
masterName = "Site";
エンジンを動かすためにいつも一人で。しかし、私はいくつかのマスターファイルを持っているので、ビューが「サイト」以外の別のマスターを必要とするとすぐに、この解決策はうまくいきません。このメソッドでマスタービュー名を取得する方法を知っている人はいますか?