2011-01-31 17 views
0

現在のカルチャに基づいて使用されるマスターページを変更する必要があります。 View、OnResultExecuting、またはOnActionExecutingをオーバーライドすることで、これをかなり簡単に行うことができます。これは、ほとんどのページでうまく動作します。cultureに基づいてASP.NET MVCマスターページを変更します。

私の問題は、マスターページを使用しないビューがいくつかあり、これらのビューのマスターページを設定したくないことです。ビューにマスターページがあると、コード内で見つけ出すのが面倒です。すべてのケースで、masterNameはnullまたは空の文字列です。

アイデア?

答えて

3

を使用すると、定義されたマスターページを持っていない場合、それはそれを変更しません

public ActionResult Home() 
{ 
    MyModel model = new MyModel{MasterPage="SomeMaster"}; 
    returnView(model); 
} 

<%@ Page Title="" Language="C#" MasterPageFile="/Views/Shared/<%= model.MasterPage %>" Inherits="System.Web.Mvc.ViewPage" %> 

この方法で...これを試してみてください:)

+0

興味深いアプローチを。ありがとう。 –

関連する問題