みなさん、こんにちは。
今回は最近なにかと話題を題材にしてみようと思います。
今回の元はCodezineのこちら です。
http://codezine.jp/article/detail/2748
こちらは、まだ正式版がリリースされる前のもので、Preview版での内容となっています。
が、逆に修正しないといけないところがあるので勉強になるかなと思っております。
最後の方は、ちょっと元ネタと違う感じになるので注意が必要です。
では、さっそく。
私が行った環境は、
ASP.NET MVC1.0 (ダウンロードはこちら )
VS2008 SP1
です。
4ページ目まで読み進めていきましょう。
4ページ目に移るとサンプルプログラムの作成開始です。
5ページ目に移って、ルーティングの変更は指示通りです。
コントローラーの作成では、名前には「Contoroller」がつかないといけないようなので、注意が必要です。
ちなみに、プログラム内部でコントローラーの名前を指定する時は、PubsControllerであれば、「Pubs」となるようです。
このページでの最後はコントローラーにメソッド、つまりはアクションの追加です。
私は、Titlesだけを追加しました。
ここで、リリース版では必要なものが抜けています。
それは、
PubsDataContext pubsdatacontext = new PubsDataContext();
これが無いとデータの取得ができません。
6ページ目のactionのinfoでも必要です。
6ページ目に移ると、問題が発生します。
元ネタでは、ビューのコードビハインドファイルに書き込む感じに書いていますが、リリース版ではこれは出来ないようです。
で、どうするかというと、Publisher.aspxの先頭のInheritsを以下のように書き換えます。
Inherits="System.Web.Mvc.ViewPage<IEnumerable<SampleMVC.Models.titles>>"
これで、後は元ネタ通りでうまく動作するはずです。
ここまでやってきて、今後はどうなるのだろうか?と考えると、例えばサーバーコントロールのDataGridコントロールの代わりのようなものが出ないと、自分で制御するのは大変なのだろうか?と思ってしまうところです。
では、次回もあるかも?