.NET TIPS [ASP.NET MVC]カスタムのビュー・エンジンを利用するには?(活用編)[3.5、C#、VB]山田 祥寛2010/02/04 |
|
|
本稿は、「TIPS:[ASP.NET MVC]カスタムのビュー・エンジンを利用するには?(実装編)」の続きである。実装編では、XSLT(eXtensible Stylesheet Language Transformations)スタイルシートをビュー・スクリプトとして利用するXsltViewEngineエンジンを作成した。
本稿では、実装編で作成したXsltViewEngineエンジンをアプリケーションに登録し、アクション・メソッドから実際に呼び出してみよう。
1. ビュー・エンジンをアプリケーションに登録する
ビュー・エンジンを登録する方法については、「TIPS:NVelocityをビュー・エンジンとして利用するには?」でも紹介したとおりである。Global.asaxファイルのApplication_Startイベント・ハンドラから、ViewEngineCollectionオブジェクト(System.Web.Mvc名前空間)のAddメソッドを呼び出すことで行える。
|
||
XsltViewEngineエンジンを登録するためのコード(Global.asax。上:C#、下:VB) |
2. アクション・メソッドを作成する
XsltViewEngineエンジンを登録できたら、これを利用するためのアクション・メソッドを作成する。
本来、XML文書はデータベースなどから取得するところであるが、本稿では、取りあえずリテラルとしてアクションにハード・コーディングしている。
|
||
XsltViewEngineエンジンの動作を確認するためのアクション・メソッド(上:ViewController.cs、下:ViewController.vb) |
ここで注目していただきたいのは、ビュー・エンジンの選択はASP.NET MVCが自動的に行ってくれるので、アクション・メソッドの側ではビュー・エンジンを意識したコードを記述する必要はない、という点だ。本稿のケースでは、デフォルトのWebFormViewEngine→XsltViewEngineの順でビュー・エンジンが登録されているので、内部的には.aspx→.ascx→.xsltファイルの順でビュー・スクリプトが検索されることになる。
3. ビュー・スクリプトを作成する
最後に、モデル(XDocumentオブジェクト)を処理するためのビュー・スクリプト(.xsltファイル)を用意する。
XSLTスタイルシートに関する詳細は本稿では割愛するので、詳細については「XMLテクニック集」などの記事を参考にしてほしい。
|
|
渡されたモデルを処理するためのXSLTスタイルシート(Views/View/Index.xslt) |
.xsltファイルの保存先(ファイル名)は、.aspxファイルと同様、
~/View/<コントローラ名>/<アクション名>.xslt
とする必要がある。
以上の手順を終えたら、サンプルを実行してみよう。
XsltViewEngineエンジンによって出力された書籍情報 |
「http://localhost:8080/View/Index」のようなアドレスでアクセスした結果、上のような結果が得られれば、XsltViewEngineは正しく動作している(ポート番号の部分は環境によって異なる)。
利用可能バージョン:.NET Framework 3.5 カテゴリ:Webフォーム 処理対象:ASP.NET MVC 使用ライブラリ:ViewEngineCollectionオブジェクト(System.Web.Mvc名前空間) 関連TIPS:[ASP.NET MVC]カスタムのビュー・エンジンを利用するには?(実装編) 関連TIPS:NVelocityをビュー・エンジンとして利用するには? |
|
「.NET TIPS」 |
- 第2回 簡潔なコーディングのために (2017/7/26)
ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている - 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう - 第1回 明瞭なコーディングのために (2017/7/19)
C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える - Presentation Translator (2017/7/18)
Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|