asp.net mvc part 2
DESCRIPTION
ASP.NET MVC Part 2 技術ひろば.net 2010年2月勉強会 セッション資料 (ASP.NET MVC についての2回目のセッション) 2010年2月13日開催TRANSCRIPT
![Page 2: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/2.jpg)
瀬尾 佳隆 (せお よしたか)◦ MVP for Visual C# (Jan 2009 – Dec 2010)
◦ 実は、Webよりは Windowsアプリ、Office、SharePoint (WebといえばWebですが) が好き
でも今どき Webをやらないことには、ねぇ・・・
◦ 個人事業主です(屋号は瀬尾ソフト)
◦ 根っからの技術屋◦ どうでもいい情報としては、ミュージカルが大好きです
2
![Page 3: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/3.jpg)
ASP.NET MVC 開発の中の次の操作を説明します◦ DB連携
◦ バリデーション
◦ 認証
MVC の考え方、ASP.NET MVC の基礎は説明しません◦ 「基礎」については 2009年12月の資料を参照してください
http://tinyurl.com/aspnetmvc-kiso-200912
◦ DB連携の部分は 12月の資料と重複しています(コピペとも言う)
◦ ASP.NET MVC 2 の話ではありません
リクエストがあれば考えます
あるいは、誰かやってみませんか?
3
![Page 4: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/4.jpg)
DB連携◦ データモデルの定義
◦ 一覧表示
◦ 詳細表示
◦ 新規作成
◦ 更新
バリデーション(検証)
認証
4
![Page 5: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/5.jpg)
まずは DB の準備
5
![Page 6: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/6.jpg)
6
![Page 7: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/7.jpg)
7
![Page 8: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/8.jpg)
8
![Page 9: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/9.jpg)
既定値を変更◦ Discontinued・・・
False
◦ UnitPrice・・・0
◦ UnitsInStock・・・0
◦ UnitsOnOrder・・・0
新規登録時の既定値として使われる値
9
![Page 10: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/10.jpg)
“Add Action methods …” のチェックを忘れずに
10
![Page 11: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/11.jpg)
11
※ Controller クラスでは Model の using を追加しておくとラク(ファイル先頭付近に “using <プロジェクト名>.Models; ” を追加)
![Page 12: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/12.jpg)
12
![Page 13: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/13.jpg)
13
Index.aspx (前半)
![Page 14: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/14.jpg)
14
Index.aspx (後半)
![Page 15: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/15.jpg)
15
![Page 16: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/16.jpg)
16
![Page 17: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/17.jpg)
17
![Page 18: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/18.jpg)
18
Details.aspx (前半)
![Page 19: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/19.jpg)
19
Details.aspx (後半)
![Page 20: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/20.jpg)
20
![Page 21: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/21.jpg)
21
![Page 22: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/22.jpg)
22
![Page 23: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/23.jpg)
23
Create.aspx
![Page 24: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/24.jpg)
24
![Page 25: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/25.jpg)
25
![Page 26: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/26.jpg)
26
![Page 27: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/27.jpg)
27
Edit.aspx (前半)
![Page 28: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/28.jpg)
28
Edit.aspx (後半)
![Page 29: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/29.jpg)
これで DB 連携の一連の操作は終わり
29
![Page 30: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/30.jpg)
DB連携で生成された View のソースには、すでにバリデーションのひな形が入っています◦ ただし英語なので、日本語に換えておきましょうか・・・
30
![Page 31: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/31.jpg)
検証は Controller で行う
31
![Page 32: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/32.jpg)
32
![Page 33: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/33.jpg)
ASP.NET MVC では認証の処理はすごく簡単!◦ ASP.NET の認証の仕組みをそのまま使います
◦ コードの追加は最小限
デモでは “ASP.NET 構成” で認証に使うアカウントを準備します(Form認証)
33
![Page 34: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/34.jpg)
34
![Page 35: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/35.jpg)
例えば、こんな感じ
35
![Page 36: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/36.jpg)
36
![Page 37: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/37.jpg)
37
![Page 38: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/38.jpg)
38
![Page 39: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/39.jpg)
ASP.NET MVC では以下の開発が簡単です◦ DB連携・・・Controller, View の作成時のオプション指定でスケルトンを生成してくれます
◦ バリデーション・・・DB連携のソースコードには、あらかじめバリデーションのコードが含まれています
◦ 認証・・・Authorize 属性を指定するだけ
もちろん実際の開発にはいろいろとハードルがあるはずですが、ここまでの部分はかなり簡単です◦ ぜひ ASP.NET MVC の習得を!
まあ、Silverlight もすごく楽しいわけですが :-P
39
![Page 40: ASP.NET MVC Part 2](https://reader034.vdocuments.mx/reader034/viewer/2022052410/549229daac795920288b46cc/html5/thumbnails/40.jpg)
40