ASP.NET MVC を使用すると、他の人が作成したさまざまなビュー エンジンを交換できることはわかっていますが、独自のビュー エンジンを作成するにはどうすればよいでしょうか?
詳細情報: 当社は独自の Web フォーム ベースの CMS を使用しており、MVC の主なセールス ポイントは、よりクリーンな HTML が提供されることです (当社のデザイナーはこれを気に入っています)。ただし、独自のドメイン固有の View 実装を作成したいと考えています。
ASP.NET MVC を使用すると、他の人が作成したさまざまなビュー エンジンを交換できることはわかっていますが、独自のビュー エンジンを作成するにはどうすればよいでしょうか?
詳細情報: 当社は独自の Web フォーム ベースの CMS を使用しており、MVC の主なセールス ポイントは、よりクリーンな HTML が提供されることです (当社のデザイナーはこれを気に入っています)。ただし、独自のドメイン固有の View 実装を作成したいと考えています。
OK、Google-fu を実行したところ、次の投稿が見つかりました。
ASP.NET MVC アプリケーションでのスキンのサポートの追加
ASP.NET MVC の部分レンダリングとビュー エンジン
私は彼らの言うことから解決できると思います - 最新の ASP.NET MVC ドロップにまだ適用されることを願っています!
編集:ビュー エンジンに VB.NET XML リテラルを使用することに関する素敵な投稿もあります。
簡単すぎるので、私がやったことは次のとおりです。
VirtualPathProviderViewEngine から派生したクラスを作成します (実際、WebFormsViewEngine をコピーして少し編集するだけです)。
IView から派生したクラスを作成します。方法は 1 つだけです。ここに魔法をかけてください。
Global.asax.cs で:
ViewEngines.Engines.Add( new MyEngine() );
さまざまな ViewEngine のサンプルについては、 http://mvccontrib.org/ を参照してください。4 つが含まれています (まあ、廃止された 1 つを差し引いたものですが、コードはまだ利用可能です)。