ASP.Netでいってみる RazorとWeb ページに チャレンジ 5
msdnのASP.NET 開発者向け技術情報からこんなページを発見しました。
『Razor 構文と ASP.NET Web ページ』
http://msdn.microsoft.com/ja-jp/asp.net/gg193039
『Razor構文』の勉強に行ってきます。
その4です。
第5章 データを扱う P75
第6章 データをグリッドで表示する P95
この2章についてはMVCで扱った方が楽できるのではないかなと思う今日この頃です。
諸般の事情により今はMVCを優先したいので この2章については、教科書はパスします。時間ができたら、WebMatrixでチャレンジしたいと思います。
この先にある
第7章 データをグラフで表示する
まではやってみたいので、SQLServer Management Studio 使って、データベース[SmallBakery]、テーブル[Product]は用意しておきます。
Entity Frameworkのコード・ファーストでのモデル開発にはなじみが薄いDOA世代なので、データベースやテーブルはSQLServer Management Studioで先に用意しました。MVC4でこの2章をスキャフォールディング(Scaffolding)と呼ばれる機能とか使うと楽ちんできるところをメモしときます。
参考にしたページは主に以下の2つです。
「Entity Data Model ウィザード を使用して新しい .edmx ファイルを作成する」
新しい項目の追加ダイアログが出るので、データ タブを選択し、ADO.NET Entity Data Model を選択します。
ウィザードが起動するので、最初に、データベースから作成、を選択して次へをクリックします。
次に、データ接続の選択、で、新しい接続を指定。(新しくデータ接続をつくる場合)
接続のプロパティを登録して[OK」
エンティティ名がデフォルトセットされます。
[次]へ
そして、テーブルの左のチェック ボックスにチェックを入れて使用する全てのテーブルを選んで、完了をクリックします
すると、必要なライブラリが読み込まれて、同時に アプリケーションの Model が生成されます。この状態で必ず Ctrl+Shift + B で忘れずにビルドをしておきましょう。そうしないと次のコントローラーの追加のダイアログ ボックスの画面で、Class のリスト内に必要なモデルが表示されません。
2.コントローラーとビューの作成
次いで、ソリューション エクスプローラー上で、Controller のフォルダーを右クリックして、新規コントローラーを追加します。
コントローラーの追加ダイアログ ボックスが出るので、コントローラー名を入力、モデル クラス 、データ コンテキスト クラスは一覧より選択して、追加をクリックします。
今回の例では
データベース[SmallBakery]、テーブル[Product]ということで
コントローラー名:ProductController
モデルクラス:Product
データコンテキストクラス:SmallBakeryEntities
としました。
但し、正しい(?)名称の付け方についてはまだ勉強不足でわかってません。
すると、自動的に各種 (CRUD 用の) View も生成され、ソリューション エクスプローラーは下記の通りになります。
実際に動かす部分ですが、いろいろありますね。
1.デバッグ実行で、ホームページを表示後
URL の部分の最後にビューのフォルダ名、今回の例なら[Product](例: http://localhost:62217/ Product ) と入れてリターン キーを押す。
2.[App_Start]フォルダの[RouteConfig.cs]を開いてMapRouteの
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
の部分
defaults: new { controller = " Product ", action = "Index", id = UrlParameter.Optional }
に変更してデバッグ実行する
3.[Views]-[Shared]の[_Layout.cshtml]のナビゲーション定義部分を改造してテスト用のリンクを作成する。
<nav>
<ul id="menu">
<li>@Html.ActionLink("ホーム", "Index", "Home")</li>
<li>@Html.ActionLink("バージョン情報", "About", "Home")</li>
<li>@Html.ActionLink("連絡先", "Contact", "Home")</li>
<li>@Html.ActionLink("テスト用", "Index", "Product")</li>
</ul>
Index ビュー
Create押下
Create押下すると一覧に戻ります。登録したレコードが一覧に追加されています。
他、編集ページ、詳細ページ、削除ページなど
すぐ動作可能な状態でコントロールとビューが生成されます。
あとは、検証機能を追加したり、見た目の調整をすればOK
単純なマスタの保守作業用のページ作成ならこれで充分つかえる感じですね。
ということで、当初のWebMatrix2やRazor構文からは大きく外れてきてしまいました。MVC4強力なもんで、今後ともこっち方面でいってしまいそうです。