2011-09-11 22 views
5

ControllerContextまたはViewEngineCollectionから現在使用されているViewEngineを取得できますか?私は次のようなことができるようにしたいと思っていますViewEngines.GetCurrent。私はそのメソッドの拡張を行うことができることを知っていますが、私はこれを実装する方法については考えていません。ASP.net MVC現在のビューエンジンを取得

+3

ただ好奇心から:何のために必要なのですか? – magnattic

+0

Scott Hanselmannが投稿したモバイルビューエンジンを拡張しています。今実装されている方法はあまり拡張可能ではありません。私は、そのビューエンジンのためのスマートオプトアウトシステム(および他のいくつかの改良)に取り組んでいます。現在使用されているビューエンジンのモバイル機能を有効/無効にしたいと思います。 – Guldan

+0

コントローラのコンテキストでは、使用されたビューエンジン。実際にレンダリングされるまで解決されません。 – bzlm

答えて

4

ViewEngineCollectionを使用すると、特定のビューに関連付けられたViewEngineをルックアップできます。

ViewEngineResult result = ViewEngines.Engines.FindView(controllerContext, 
                 "myView","myMaster"); 
IViewEngine viewEngine = result.ViewEngine; 

詳細はinfoを参照してください。

関連する問題