>>  賞品はこちらで紹介しています 

書籍転載:ASP.NET MVC 5 実践プログラミング

書籍『ASP.NET MVC 5 実践プログラミング』から全27本の記事を転載。【完結】

  • このエントリーをはてなブックマークに追加

書籍転載について

 本コーナーは、秀和システム発行の書籍『ASP.NET MVC 5 実践プログラミング』の中から、特にBuild Insiderの読者に有用だと考えられる項目を編集部が選び、同社の許可を得て転載したものです。

 

 『ASP.NET MVC 5 実践プログラミング』の詳細や購入は秀和システムのサイトをご覧ください。

 Microsoftの標準Web開発プラットフォーム、ASP.NET MVCを初めて学ぶ人のための本です。C#を最低限理解できている人を対象に、ASP.NET MVCプログラミングのための環境構築、大まかな開発の流れ、ASP.NET MVCを構成する基本要素Model/View/Controllerそれぞれの開発テクニック、ルーティング、JavaScript/CSSによるクライアントサイド開発、単体テスト、認証のノウハウを解説します。Java、PHP、Rubyの経験者にもオススメ!

[導入編]Chapter1 イントロダクション

1-1 ASP.NETの全体像【2014年9月30日公開】
1-2 ASP.NET MVCとは?
  1-2-1 Webフォームの問題点
  1-2-2 ASP.NET MVCの特徴
  1-2-3 ASP.NET MVCの主な機能
【2014年9月30日公開】
1-3 ASP.NET MVC利用のための環境設定
  1-3-1 前提となる環境
  1-3-2 Microsoft Web Platform Installerによるインストール
  1-3-3 ASP.NET MVCのソースコード

[導入編]Chapter2 ASP.NET MVCの基本

2-1 プロジェクトの作成
2-2 コントローラーの基本
  2-2-1 コントローラークラスを作成する
  2-2-2 ルーティングの基礎を理解する
  2-2-3 補足:/App_Startフォルダー
2-3 ビューの基本
  2-3-1 ビュー変数の設定
  2-3-2 ビュースクリプトの作成
  2-3-3 レイアウトの適用
2-4 モデルの基本
  2-4-1 Entity Frameworkとは?
  2-4-2 Entity Frameworkのデータモデル「Entity Data Model」
  2-4-3 Entity Frameworkによるデータアクセス
  2-4-4 データ取得の基本

[導入編]Chapter3 Scaffolding機能による開発

3-1 Scaffolding機能によるアプリケーション開発
3-2 一覧画面の作成(Indexアクション)
  3-2-1 Indexアクションメソッド
  3-2-2 Index.cshtmlビュースクリプト
3-3 詳細画面の作成(Detailsアクション)
  3-3-1 Detailsアクションメソッド
  3-3-2 Details.cshtmlビュースクリプト
3-4 新規登録画面の作成(Createアクション)
  3-4-1 入力フォームの作成(Createアクション&Create.cshtml)
  3-4-2 入力値の処理(Createアクション)
3-5 編集画面の作成(Editアクション)
  3-5-1 Editアクションメソッド
  3-5-2 Edit.cshtmlビュースクリプト
3-6 削除画面の作成(Deleteアクション)
  3-6-1 Delete/DeleteConfirmedアクションメソッド
  3-6-2 Delete.cshtmlビュースクリプト

[基本編]Chapter4 ビュー開発

4-1 Razor構文
  4-1-1 コードナゲット(インライン式)
  4-1-2 予約文字「@」のエスケープ
  4-1-3 コードブロック
  4-1-4 制御構文(コードブロック)
  4-1-5 サーバーコメント
【2014年10月1日公開】
4-2 フォーム関連のビューヘルパー
  4-2-1 フォームを生成する - BeginFormメソッド
【2014年10月1日公開】
  4-2-2 ルート定義からフォームを生成する- BeginRouteFormメソッド【2014年10月6日公開】
  4-2-3 モデルに関連付いた<input>、<textarea>要素を生成する- XxxxxForメソッド【2014年10月6日公開】
  4-2-4 選択ボックス/リストボックスを生成する - DropDownListFor/ListBoxForメソッド【2014年10月7日公開】
  4-2-5 列挙型から選択ボックスを生成する - EnumDropDownListメソッド【2014年10月7日公開】
  4-2-6 選択ボックスの選択肢をグループ化する - SelectListクラス【2014年10月14日公開】
  4-2-7 モデルと関連付かないフォーム要素を生成する - TextBox/Labelメソッドなど【2014年10月14日公開】
4-3 リンク/エンコード関連のビューヘルパー
  4-3-1 ハイパーリンクを生成する - ActionLinkメソッド
【2014年10月21日公開】
  4-3-2 ルート定義からハイパーリンクを生成する - RouteLinkメソッド【2014年10月21日公開】
  4-3-3 アプリケーションルートからの絶対パスを生成する - Url.Content/Action/RouteUrlメソッド【2014年10月28日公開】
  4-3-4 HTMLエンコードを無効にする - Html.Rawメソッド【2014年10月28日公開】
4-4 テンプレート関連のビューヘルパー
  4-4-1 テンプレートの標準の挙動
【2014年11月4日公開】
  4-4-2 テンプレートのカスタマイズ
  4-4-3 テンプレートを決定する方法
【2014年11月4日公開】
  4-4-4 モデル単位にテンプレートを決定する - DisplayForModel/EditorForModelメソッド【2014年11月11日公開】
4-5 ビューヘルパーの自作
  4-5-1 シンプルなビューヘルパー
  4-5-2 MvcView.Helpers名前空間の登録
  4-5-3 拡張メソッドによる定義
  4-5-4 TagBuilderクラスの活用
  4-5-5 応用:TagBuilderクラスによる複合的なタグの生成
  4-5-6 Razor構文で作成するビューヘルパー
  4-5-7 補足:インラインテンプレートの受け渡し
4-6 アプリケーション共通のデザインを定義する - レイアウト
  4-6-1 レイアウトの作成
  4-6-2 レイアウトを適用するさまざまな方法
  4-6-3 レイアウトに複数のコンテンツ領域を設置する
  4-6-4 レイアウトを入れ子に配置する
4-7 ビューの一部を再利用可能にする - 部分ビュー
  4-7-1 部分ビューの基本
  4-7-2 応答ストリームに直接出力する - RenderPartialメソッド
  4-7-3 部分ビューに先立ってアクションを呼び出す - Action/RenderActionメソッド
4-8 ビューエンジン
  4-8-1 ASPXエンジンの利用
  4-8-2 ビューエンジンの無効化
  4-8-3 ビューエンジンの自作
4-9 モバイル対応 - DisplayModes
  4-9-1 デスクトップ&モバイル環境の振り分け
  4-9-2 デバイス単位のビューの振り分け
  4-9-3 補足:モバイル判定のしくみ

[基本編]Chapter5 モデル開発

5-1 データモデルの作成
  5-1-1 基本的な規約
  5-1-2 規約のカスタマイズ
  5-1-3 Fluent APIによる規約のカスタマイズ
5-2 マイグレーション 
  5-2-1 マイグレーションの基本
  5-2-2 補足:Update-Databaseコマンドのさまざまな用法
  5-2-3 自動マイグレーション
  5-2-4 マイグレーションファイルで利用できる主なメソッド
5-3 LINQ to Entities
  5-3-1 LINQとは?
【2014年11月11日公開】
  5-3-2 データの検索条件を指定する - where句【2014年11月18日公開】
  5-3-3 データを並べ替える - orderby句【2014年11月18日公開】
  5-3-4 取得列を明示的に指定する - select句【2014年11月25日公開】
  5-3-5 重複のないデータを取得する - Distinctメソッド【2014年11月25日公開】
  5-3-6 特定範囲のデータだけを取得する - Skip/Takeメソッド【2014年12月2日公開】
  5-3-7 先頭のデータを取得する - Firstメソッド【2014年12月2日公開】
  5-3-8 データをグループ化する - group句【2014年12月9日公開】
  5-3-9 エンティティ同士を結合する - join句【2014年12月9日公開】
5-4 データ取得/変更のためのその他の機能
  5-4-1 関連を持ったエンティティの操作
  5-4-2 生のSQL命令を直接指定する - SqlQuery/ExecuteSqlCommandメソッド
  5-4-3 トランザクション処理を実装する
  5-4-4 同時実行制御を実装する - Timestamp属性
5-5 入力値の検証
  5-5-1 検証機能の基本
  5-5-2 その他の検証属性
  5-5-3 自作の検証属性を実装する(サーバーサイド)
  5-5-4 自作の検証属性を実装する(クライアントサイド)

[基本編]Chapter6 コントローラー開発

6-1 モデルバインド
  6-1-1 バインド項目の制限 - Bind属性
  6-1-2 リストへのバインド
  6-1-3 ファイルのアップロード
  6-1-4 値プロバイダー
  6-1-5 モデルバインダーの自作
6-2 ActionResult
  6-2-1 標準のActionResult派生クラス
  6-2-2 ビュースクリプトでページを生成する- ViewResultクラス
  6-2-3 処理をリダイレクトする - RedirectResult/RedirectToRouteResultクラス
  6-2-4 空のコンテンツを出力する - HttpStatusCodeResult/HttpNotFoundResult/HttpUnauthorizedResultクラス
  6-2-5 アクションをそのまま終了する - EmptyResultクラス
  6-2-6 テキストデータを出力する - ContentResultクラス
  6-2-7 例:データベースの内容をタブ区切りテキストで出力する
  6-2-8 例:データベースから動的にフィードを生成する
  6-2-9 指定されたファイルを出力する - FilePathResultクラス
  6-2-10 データベースに登録したバイナリデータを取得する - FileContentResult/FileStreamResultクラス
  6-2-11 例:アクションメソッドで動的にPDF文書を生成する
  6-2-12 ActionResult派生クラスの自作
6-3 状態管理
  6-3-1 クッキーを取得/設定する - HttpCookieクラス
  6-3-2 セッションを利用する - Sessionオブジェクト
  6-3-3 一時データを保管する - TempDataオブジェクト
6-4 フィルター属性
  6-4-1 フィルター属性の基本
  6-4-2 カスタムエラーページを定義する - HandleError属性
  6-4-3 HandleError属性で利用可能なプロパティ
  6-4-4 出力キャッシュ機能を有効化する - OutputCache属性
  6-4-5 リクエストパラメーターの妥当性を検証する- ValidateInput属性
  6-4-6 クロスサイトリクエストフォージェリ対策を行う - ValidateAntiForgeryToken属性
  6-4-7 SSL通信を強制する - RequireHttps属性
  6-4-8 上位のフィルター指定を上書きする- OverrideXxxxx属性
6-5 フィルター属性の自作
  6-5-1 承認フィルターの自作
  6-5-2 例外フィルターの自作
  6-5-3 アクション/結果フィルターの自作
  6-5-4 コンテキストオブジェクト
  6-5-5 アクション/結果フィルターの実行順序
6-6 セレクター属性
  6-6-1 HTTPメソッドに応じてリクエストを処理する- HttpXxxxx属性
  6-6-2 アクションメソッドを無効化する - NonAction属性
  6-6-3 アクション名を明示的に宣言する - ActionName属性
  6-6-4 セレクター属性の自作

[応用編]Chapter7 ルーティング

7-1 MapRouteメソッド
  7-1-1 引数url - URIパターンの定義
  7-1-2 引数defaults - 変数のデフォルト値
  7-1-3 引数constraints - 制約条件
  7-1-4 引数namespaces - コントローラークラスの検索先
  7-1-5 制約条件の自作
  7-1-6 特定のURIパターンをルートから除外する - IgnoreRouteメソッド
7-2 属性ルーティング
  7-2-1 属性ルートの基本
  7-2-2 任意のパラメーターとデフォルト値
  7-2-3 制約条件を設定する
  7-2-4 ルートプレフィックスを定義する - RoutePrefix属性
  7-2-5 カスタムの制約条件を付与する
7-3 エリア(区分)
  7-3-1 エリアの作成方法
  7-3-2 エリア情報の定義
  7-3-3 名前空間の登録
  7-3-4 エリア間のリンク

[応用編]Chapter8 クライアントサイド開発

8-1 バンドル&ミニフィケーション
  8-1-1 バンドル情報の定義
  8-1-2 JavaScriptライブラリ/スタイルシートのインポート
  8-1-3 コンテンツデリバリーネットワークの利用
8-2 JavaScriptライブラリ/フレームワーク
  8-2-1 JavaScriptライブラリのインストール方法
  8-2-2 JavaScriptライブラリのIntellisense機能
  8-2-3 jQuery
  8-2-4 jQueryプラグイン
  8-2-5 Bootstrap【2014年12月16日公開】
  8-2-6 TypeScript
8-3 Ajax開発
  8-3-1 ページを部分更新する - PartialViewResultクラス
  8-3-2 ぐるなびWebサービスを利用する
  8-3-3 補足:Ajax呼び出しの際に進捗バーを表示する
  8-3-4 Ajax通信でJSONデータを利用する(サーバーサイド編)
  8-3-5 Ajax通信でJSONデータを利用する(クライアントサイド編)

[応用編]Chapter9 単体テスト

9-1 単体テストの基本
9-2 モックライブラリMoq
  9-2-1 Moqの基本
9-3 さまざまなテスト
  9-3-1 フィルター属性のテスト
  9-3-2 セレクター属性のテスト
  9-3-3 ビューヘルパーのテスト
  9-3-4 ルーティングのテスト
  9-3-5 IsAjaxRequestメソッドのテスト
9-4 データベースを伴うテスト
  9-4-1 リポジトリクラスの準備
  9-4-2 単体テストの準備/実行
  9-4-3 補足:依存性リゾルバー

[応用編]Chapter10 高度な話題(認証/国際化/クラウド対応)

10-1 ASP.NET Identity
  10-1-1 ASP.NET Identityリリースの背景
  10-1-2 ASP.NET Identityの基本
  10-1-3 ASP.NET Identityの基本設定
  10-1-4 新規ユーザーの作成
  10-1-5 ログイン処理
  10-1-6 電子メールによるアカウント確認
  10-1-7 パスワードのリセット
  10-1-8 アカウントのロックアウト
  10-1-9 プロファイル情報の追加
  10-1-10 ロール単位のアクセス制限
  10-1-11 ソーシャルアカウントによるサインイン
10-2 国際化対応
  10-2-1 国際化対応の基本的な手順
  10-2-2 ローカルリソースの定義
  10-2-3 リソース取得のためのビューヘルパー
  10-2-4 データモデルの国際化対応
10-3 Microsoft Azureへの配置
  10-3-1 Microsoft Azureの準備
  10-3-2 アプリケーションの配置

 

GrapeCity Garage 記事内容の紹介

Azure Central の記事内容の紹介

Twitterでつぶやこう!


Build Insider賛同企業・団体

Build Insiderは、以下の企業・団体の支援を受けて活動しています(募集概要)。

ゴールドレベル

  • 日本マイクロソフト株式会社
  • グレープシティ株式会社