ASP.NET MVC 5 実践プログラミング

概 要

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

著者 山田祥寛
価格 本体3500円(税別)
ISBN 978-4-7980-4179-7
発売日 2014/9/20
判型 B5変
色数 1色
ページ数 568
CD/DVD
ダウンロード
表紙イメージ
購入 アマゾンで購入する
楽天で購入する

※リンク先によっては、販売ページが用意されていないことがあります。あらかじめご了承ください。

新しいウィンドウで開く 書籍購入のご案内

サポート

サポート情報は以下からご参照下さい。

サポート情報へのリンク

目次

Chapter1 イントロダクション

1-1 ASP.NETの全体像

1-2 ASP.NET MVCとは?

1-2-1 Webフォームの問題点

1-2-2 ASP.NET MVCの特徴

1-2-3 ASP.NET MVCの主な機能

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 サーバーコメント

4-2 フォーム関連のビューヘルパー

4-2-1 フォームを生成する - BeginFormメソッド

4-2-2 ルート定義からフォームを生成する- BeginRouteFormメソッド

4-2-3 モデルに関連付いた<input>、<textarea>要素を生成する- XxxxxForメソッド

4-2-4 選択ボックス/リストボックスを生成する - DropDownListFor/ListBoxForメソッド

4-2-5 列挙型から選択ボックスを生成する - EnumDropDownListメソッド

4-2-6 選択ボックスの選択肢をグループ化する - SelectListクラス

4-2-7 モデルと関連付かないフォーム要素を生成する - TextBox/Labelメソッドなど

4-3 リンク/エンコード関連のビューヘルパー

4-3-1 ハイパーリンクを生成する - ActionLinkメソッド

4-3-2 ルート定義からハイパーリンクを生成する - RouteLinkメソッド

4-3-3 アプリケーションルートからの絶対パスを生成する - Url.Content/Action/RouteUrlメソッド

4-3-4 HTMLエンコードを無効にする - Html.Rawメソッド

4-4 テンプレート関連のビューヘルパー

4-4-1 テンプレートの標準の挙動

4-4-2 テンプレートのカスタマイズ

4-4-3 テンプレートを決定する方法

4-4-4 モデル単位にテンプレートを決定する - DisplayForModel/EditorForModelメソッド

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とは?

5-3-2 データの検索条件を指定する - where句

5-3-3 データを並べ替える - orderby句

5-3-4 取得列を明示的に指定する - select句

5-3-5 重複のないデータを取得する - Distinctメソッド

5-3-6 特定範囲のデータだけを取得する - Skip/Takeメソッド

5-3-7 先頭のデータを取得する - Firstメソッド

5-3-8 データをグループ化する - group句

5-3-9 エンティティ同士を結合する - join句

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

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 アプリケーションの配置

PR

秀和システム