- Udemy:【入門者向け】ASP.NET MVCでWebアプリ開発のノウハウを学ぼう!
- asp.netフレームワーク,C#を選択
- MVCを選択
- NuGetパッケージの管理からentityframeworkインストール
Atricle.cs作成- ID,タイトル,本文,カテゴリー,投稿日,更新日,コメントのコレクション
Comment.cs作成- ID,コメント,投稿日,対応する記事,記事のIDを持つ
Category.cs作成- ID,Category名,記事のコレクション,記事の個数
- 作成したモデルをDBと接続するために
BlogContext.cs作成- 上3つを持つ
- ツール->nugetパッケージコンソールからmigration実行
Migrations/Configuration.csが作成される
- Modelの作成
LoginViewModel.cs作成CustomMembershipProvider.cs作成CustomRoleProvider.cs作成- ユーザー管理機能は省略するため固定文字列で認証実装
- Controllerの作成
LoginController.cs作成
- Viewの作成
LoginController.csのIndex()を右クリックしてViews/Login/Index.cshtml作成
- Create,Edit,Delete実装
- Articleが追加されたときにCategoryの管理もこのコントローラで行う
- Create,Editはない
- Delete実装
- Viewから作成
- 参照のNugetパッケージからbootstrapインストール
### viewの実装
- ArticlesのView
- CategoriesのView
- LoginのView
- App_start/RouteConfig.cs変更
- Web.config変更
- 動作確認してバグ修正した
- 共通処理として
CategoryFilterAttribute.csをCOntroller内でクラスとして実装OnActionExecutedメソッドは実行が終了すると毎回呼び出される
ArticleController.csに適用する- アノテーションするときは
[CategoryFilter]のようにAttribute取り除く
- アノテーションするときは
CategoriesController.csに適用- これによって各アテンションメソッドが実行された後にOnActonExecutedが呼び出されてdbからviewbagにカテゴリーがセットされる
- 次に共通レイアウトページ編集
- Articleのcreateとeditのビューを編集
- optionタグで表示するようにする