|
.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」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -



