4

ユーザー設定に基づいて、asp.net mvc で MasterPage や .css を動的に変更する良い方法はありますか?

次のようにマスター名を変更できることを理解しています。

return View("viewName", "master-name", oModel)

おそらく別の contentPlaceHolder を使用するビューですが、各コントローラーとアクションを変更する必要があります。

これよりも良い方法があると仮定する必要があります。

4

2 に答える 2

3

私はやや単純な方法を持っています:

return View("View", getMasterName());

私のマスターコントローラーには、次のものがあります。

protected string getMasterName() {
    return (Request.QueryString["tb"] == null) ? null : "Other_Master";
}

これを使用して、thickbox ポップアップの場合と、たとえば、javascript が機能せず、thickbox なしでコントローラーが読み込まれた場合とで異なるテンプレートを表示します。

于 2009-07-15T19:20:07.057 に答える
0

これは興味深い読書です http://developmentalmadness.blogspot.com/2009/06/aspnet-mvc-discover-masterpagefile.html

于 2009-07-15T17:57:47.473 に答える