出版社内容情報
ASP.NET MVCはWebアプリケーションの開発手法の1つで、MVC(Model-View-Controller)パターンを使って、Model、View、Controllerという3つの部分に分割してアプリ設計します。1つの混沌となったWebアプリの塊になってしまうよりも、ユーザーインターフェイスを表すView、データを扱うModel、ロジックを切り替えるためのControllerに分割してコーディングすることで、開発効率を高めることを目的にしています。アプリを更新するときでも、Viewだけを更新するなど部分的にアップデートが可能です。
本書は、LinuxやMacのようなWindows以外の環境でも動作する.NET Coreとその基でのWeb実行環境のASP.NET Coreというオープンソースで提供される新たなアプリ実行環境を使って、IIS(Internet Information Services)のない状況でも動作するASP.NET MVCアプリを開発・実行する方法を解説します。
はじめに
第1章 ASP.NET MVCの概要
1.1 ASP.NETとは
1.1.1 2つの.NET Framework
1.1.2 ASP.NET Core
1.1.3 ASP.NET MVC
1.2 MVCパターンとは
1.2.1 MVC パターンの起源
1.2.2 設定より規約を優先する
1.2.3 ASP.NET MVCの実際の動き
1.3 MVCパターンの目的
1.3.1 ルールに基づいた開発
1.3.2 テスト可能にする
1.3.3 Web APIを使う
1.4 ASP.NET MVCプロジェクトを作る
1.4.1 新しいプロジェクトを作る
1.4.2 デバッグ実行する
1.4.3 新しいControllerクラスを追加する
1.4.4 新しいViewを追加する
1.4.5 Hello Worldを表示する
1.5 この章のチェックリスト
第2章 スキャフォールディングの利用
2.1 CRUD 機能の自動生成
2.1.1 スキャフォールディング機能とは
2.1.2 テーブル更新を自動化する
2.1.3 Model、View、Controller
2.1.4 MVC パターンのルール
2.1.5 スキャフォールディング機能の利点と欠点
2.2 マスターテーブルからの自動生成
2.2.1 ASP.NET MVCプロジェクトを作成する
2.2.2 Personテーブルを作成する
2.2.3 Modelクラスを作成する
2.2.4 Startup.csを修正する
2.2.5 スキャフォールディングを実行する
2.2.6 動作を確認してみる
2.3 一覧(Index)ページの生成
2.3.1 Indexページの役割
2.3.2 PeopleControllerクラスのIndexメソッド
2.3.3 Index.cshtmlページ
2.3.4 @modelの厳密な結び付け
2.3.5 ViewDataの利用
2.3.6 拡張したAタグの利用
2.3.7 Html.DisplayNameForメソッドでタイトルを表示
2.3.8 foreachで繰り返し処理を使う
2.3.9 パラメーターを利用した拡張Aタグの利用
2.3.10 Idを表示させる
2.4 詳細(Details)ページの生成
2.4.1 Detailsページの役割
2.4.2 PeopleControllerクラスのDetailsメソッド
2.4.3 Details.cshtmlページ
2.4.4 @modelの厳密な結び付け
2.4.5 ViewDataの利用
2.4.6 Htmlヘルパーの利用
2.4.7 パラメーターを利用した拡張Aタグの利用
2.4.8 少し複雑なDetailsページ
2.5 新規登録(Create)ページの生成
2.5.1 Createページの役割
2.5.2 PeopleControllerクラスのCreateメソッド
2.5.3 Create.cshtmlページ
2.5.4 Form タグを生成する
2.5.5 入力項目を表示する
2.5.6 [Create]ボタンを作成する
2.5.7 検証結果を表示する
2.5.8 Personクラスに検証を追加する
2.6 編集(Edit)ページの生成
2.6.1 Editページの役割
2.6.2 PeopleControllerクラスのEditメソッド
2.6.3 Edit.cshtmlページ
2.6.4 Formタグを生成する
2.6.5 id を保持する
2.6.6 入力項目を表示する
2.6.7 [Save]ボタンを作成する
2.6.8 検証結果を表示する
2.7 削除(Delete)ページの生成
2.7.1 Deleteページの役割
2.7.2 PeopleControllerクラスのDeleteメソッド
2.7.3 Delete.cshtmlページ
2.7.4 Form タグを生成する
2.7.5 [Delete]ボタンを作成する
2.8 この章のチェックリスト
第3章 Modelの活用
3.1 Entitiy Frameworkの活用
3.1.1 dotnet efコマンドを使う
3.1.2 Modelクラスの詳細
3.1.3 DbContextクラスの詳細
3.1.4 接続情報をappsettings.jsonに追い出す
3.1.5 スキャフォールディング機能を実行する
3.1.6 動作を確認してみる
3.2 データベースの変更を反映
3.2.1 新しいテーブル構造
3.2.2 リレーションシップを設定する
3.2.3 都道府県のデータを挿入
3.2.4 dotnet efコマンドを再実行する
3.2.5 Modelクラスの詳細
3.2.6 DbContextクラスの詳細
3.2.7 スキャフォールディング機能を再実行する
3.2.8 動作を確認してみる
3.3 独自のModelクラス
3.3.1 コードファーストとは
3.3.2 新しいASP.NET MVCプロジェクトを作る
3.3.3 Personクラスを作る
3.3.4 スキャフォールディング機能を実行する
3.3.5 初回のデバッグ実行を行う
3.3.6 dotnet efコマンドを実行する
3.3.7 データベースを確認する
3.3.8 動作を確認する
3.3.9 Perfectureクラスを作る
3.3.10 Personクラスを修正する
3.3.11 マイグレーションしてデータベースを更新する
3.3.12 スキャフォールディング機能を再実行する
3.3.13 動作を再確認する
3.4 入力値の検証
3.4.1 コードファーストでプロジェクトを作成
3.4.2 スキャフォールディングとデータベースを作成
3.4.3 動作を確認する
3.4.4 アノテーションを設定する
3.4.5 アノテーションの解説
3.4.6 カスタム検証を実装する
3.4.7 動作を確認する
3.5 この章のチェックリスト
第4章 Viewの活用
4.1 Razor構文
4.1.1 なぜRazor構文を使うのか
4.1.2 C#のコードを混在させる
4.1.3 変数を直接書く
4.1.4 制御文を直接書く
4.1.5 コメントを書く
4.2 @modelによるバインド
4.2.1 @modelキーワード
4.2.2 @modelキーワードの活用
4.3 @ViewData, @ViewBag の利用
4.3.1 ViewDataコレクションとViewBagオブジェクトの役割
4.3.2 ViewDataコレクションの使い方
4.3.3 ViewBagオブジェクトの使い方
4.4 HTMLヘルパー
4.4.1 HTMLヘルパーを利用する
4.4.2 HTMLヘルパーの使い方
4.4.3 DisplayForとDisplayNameForメソッド
4.4.4 HTMLヘルパーとタグヘルパーの対応
4.5 タグヘルパー
4.5.1 タグヘルパーの活用
4.5.2 タグヘルパーの使い方
4.5.3 Modelクラスとの連携
4.5.4 タグヘルパーの詳細
4.6 共通レイアウトの利用
4.6.1 レイアウトページの利用
4.6.2 レイアウトを利用しない場合
4.6.3 レイアウトを変更する
4.7 Bootstrapの活用
4.7.1 Bootstrap
4.7.2 ハンバーガーメニュー
4.7.3 横幅で表示を変える
4.8 この章のチェックリスト
第5章 Controllerの活用
5.1 引数のないActionメソッド
5.1.1 同期/非同期のActionメソッド
5.1.2 Actionメソッドの戻り値
5.1.3 引数のないActionメソッド
5.1.4 デフォルトのViewを表示する
5.1.5 Modelクラスを結び付ける
5.1.6 View名を指定する
5.2 引数のあるActionメソッド
5.2.1 GETメソッドとPOSTメソッド
5.2.2 Getメソッドの引数
5.2.3 Postメソッドの引数
5.2.4 Bind属性の役割
5.3 画面遷移を持つActionメソッド
5.3.1 指定のActionメソッドへジャンプ
5.3.2 Controller名を指定してジャンプ
5.3.3 パラメーターを指定してジャンプ
5.4 フィルター機能を利用
5.4.1 POST形式の呼び出しのみ有効にする
5.4.2 ログイン時のみ有効にする
5.5 この章のチェックリスト
第6章 List-Detailの関係
6.1 Modelの連携と外部結合の関係
6.1.1 3段階で外部連携しているパターン
6.1.2 Modelクラスを作成する
6.1.3 スキャフォールディング機能を実行する
6.2 一覧と詳細ページのカスタマイズ
6.2.1 Indexページの順序を直す
6.2.2 Detailsページの順序を直す
6.2.3 著者名、出版社名を表示する
6.3 詳細ページの拡張
6.3.1 詳細ページへドリルダウン
6.3.2 一覧ページにリンクを追加
6.3.3 詳細ページのレイアウト変更
6.3.4 著者ページのレイアウトを変更
6.3.5 出版社ページのレイアウトを変更
6.4 一覧ページのページング機能
6.4.1 ページング機能のない状態
6.4.2 Indexメソッドにページング機能を実装する
6.4.3 Indexページにページングのリンクを付ける
6.4.4 動作を確認する
6.5 一覧ページを検索で絞り込み
6.5.1 Indexページに検索用のテキストボックスを付ける
6.5.2 Indexメソッドに検索機能を追加する
6.5.3 動作を確認する
6.6 この章のチェックリスト
第7章 複数Viewの活用
7.1 ユーザーモードの切り替え
7.1.1 ログイン機能
7.1.2 ログイン状態で表示を変える
7.1.3 4種類の方法
7.1.4 アカウントを作成する
7.1.5 ロール機能を利用する
7.1.6 ログイン状態の確認
7.2 制限されたActionメソッド
7.2.1 ログイン状態で制限する
7.2.2 匿名ユーザーを許可する
7.2.3 ロールを指定する
7.3 制限されたViewページ
7.3.1 Userプロパティを利用
7.3.2 ユーザーの状態でViewページを書き換える
7.3.3 Index ページを書き換える
7.4 レイアウトの自動切り替え
7.4.1 レイアウトの指定場所
7.4.2 管理者用のレイアウトを作る
7.4.3 管理者のときにレイアウトを変更する
7.4.4 動作を確認する
7.5 部分ビューの活用
7.5.1 ログイン状態の部分ビュー
7.5.2 部分ビューを作成
7.6 この章のチェックリスト
第8章 Web API
8.1 Web APIプロジェクトを活用
8.1.1 Web APIプロジェクトを作成する
8.1.2 project.jsonを編集する
8.1.3 Modelクラスを作る
8.1.4 データベースに接続する
8.1.5 コードファーストでデータベースを作る
8.1.6 Controllerラスを作る
8.1.7 デバッグ実行する
8.2 Web APIの仕組み
8.2.1 Web APIとASP.NET MVCの違い
8.2.2 HTTPプロトコル
8.2.3 Web APIの4つのメソッド
8.2.4 HttpClientとActionメソッドの属性
8.3 GET メソッドで一覧データを取得
8.3.1 Web APIサーバーの準備
8.3.2 Getメソッドの解説
8.3.3 WPFクライアントの準備
8.3.4 HttpClient.GetAsyncメソッドの呼び出し
8.3.5 JSON形式の戻り値
8.3.6 デシリアライズ用のプロジェクトを準備する
8.3.7 DataViewコントロールにバインドする
8.4 GET メソッドで詳細データを取得
8.4.1 引数付きのGetメソッドの解説
8.4.2 idを指定したHttpClient.GetAsyncメソッドの呼び出し
8.4.3 JSON形式の戻り値
8.4.4 都道府県を選択式にする
8.4.5 単一データをデシリアライズする
8.5 POSTメソッドでデータを新規作成する
8.5.1 Postメソッドの解説
8.5.2 HttpClient.PostAsyncメソッドの呼び出し
8.5.3 Postメソッドの戻り値
8.5.4 送信データをシリアライズする
8.6 PUTメソッドでデータを更新する
8.6.1 Putメソッドの解説
8.6.2 HttpClient.PutAsyncメソッドの呼び出し
8.6.3 Putメソッドの戻り値
8.6.4 送信データをシリアライズする
8.7 DELETEメソッドでデータを削除する
8.7.1 Deleteメソッドの解説
8.7.2 HttpClient.DeleteAsyncメソッドの呼び出し
8.8 jQueryからWeb APIの呼び出し
8.8.1 ブラウザーからWeb APIを呼び出す
8.8.2 jQueryを使うWebアプリケーションを準備する
8.8.3 Web APIを呼び出すViewページを作成
8.8.4 GETメソッドの呼び出し
8.8.5 id付きGETメソッドの呼び出し
8.8.6 POSTメソッドとPUTメソッド
8.9 WPFアプリからWeb APIの呼び出し
8.9.1 MVVMパターンの仕組み
8.9.2 MVVMパターンを使うWPFアプリケーションの準備
8.9.3 ViewModelを作成
8.9.4 XAMLにバインドを記述
8.9.5 ボタンクリックのイベントを記述
8.9.6 Web APIを呼び出す
8.10 UWPアプリからWeb APIの呼び出し
8.10.1 UWPアプリケーションの特徴
8.10.2 UWPアプリケーションの準備
8.10.3 ListViewコントロールを追加する
8.10.4 ViewModelクラスをコピー
8.10.5 XAMLのバインドを確認
8.10.6 ボタンクリックのイベントをコピー
8.10.7 Web APIを呼び出す
8.11 スマートフォンアプリからWeb APIの呼び出し
8.11.1 Xamarinをダウンロードする
8.11.2 Xamrin.Formsアプリの準備
8.11.3 XAMLを記述
8.11.4 ViewModelを作成
8.11.5 イベントを記述
8.11.6 SampleWebApiプロジェクトのProgram.csを修正
8.11.7 Web APIを呼び出す
8.12 XML形式でWeb API呼び出し
8.12.1 XML形式を扱う仕組み
8.12.2 XML形式を扱うWeb APIプロジェクトの準備
8.12.3 XMLフォーマッターの追加
8.12.4 一覧データを扱うModelクラスを作る
8.12.5 Controllerクラスを修正
8.12.6 XML形式の受信データを表示
8.12.7 XML形式を扱うWPFアプリケーションの準備
8.12.8 ViewModelクラスをコピーする
8.12.9 ボタンクリックのイベントを記述
8.12.10 Web APIを呼び出す
8.13 この章のチェックリスト
第9章 状態管理
9.1 セッションの利用
9.1.1 ステートレスなHTTPプロトコル
9.1.2 セッション情報の準備
9.1.3 セッ轡腑鵑鰺?僂垢?
9.1.4 セッション情報を使うときの注意点
9.2 クッキーの利用
9.2.1 クッキーを利用する
9.2.2 Cookieを使うときの注意点
9.2.3 hiddenなinputタグの利用
9.2.4 URLにIDを埋め込む
9.3 この章のチェックリスト
第10章 ルーティング
10.1 MapRouteメソッドの活用
10.1.1 ルーティング機能
10.1.2 MapRouteメソッド
10.2 ルーティング属性
10.2.1 Controllerクラスの属性
10.2.2 Actionメソッドの属性
10.2.3 ルーティング属性の例
10.2.4 Web APIのルーティングの変更
10.3 この章のチェックリスト
第11章 認証
11.1 ASP.NET Identitiyの利用
11.1.1 ASP.NET Identitiyを利用する
11.1.2 ログイン用テーブルの詳細
11.1.3 ログイン状態の確認
11.1.4 データの作成
11.1.5 動作の確認
11.2 Windows認証
11.2.1 Windows認証を利用する
11.2.2 IISの設定
11.2.3 動作の確認
11.3 この章のチェックリスト
付録A LinuxでのASP.NET Core MVCの利用
A.1 Linuxでの開発環境を構築する
A.1.1 NET Core 環境のインストール
A.1.2 Visual Studio Codeのインストール
A.1.3 サンプルプロジェクトの作成
A.1.4 プロジェクト実行
A.2 データベースにSQLiteを利用する
A.2.1 SQLiteデータベース
A.2.2 アセンブリを変更する
A.2.3 appsettings.jsonを変更する
A.2.4 モデルクラスとスキャフォールディング
A.2.5 マイグレーションとデータベースの作成
A.2.6 プロジェクトを実行
索引
----------------
はじめに
第1章 ASP.NET MVCの概要
第2章 スキャフォールディングの利用
第3章 Modelの活用
第4章 Viewの活用
第5章 Controllerの活用
第6章 List-Detailの関係
第7章 複数Viewの活用
第8章 Web API
第9章 状態管理
第10章 ルーティング
第11章 認証
付録A LinuxでのASP.NET Core MVCの利用
索引
増田 智明[マスダトモアキ]
内容説明
注目のASP.NET Core 1.0を使ったWebアプリ開発を体験。Linux、Macなどの環境でも実行可能なプログラミングを試す。
目次
ASP.NET MVCの概要
スキャフォールディングの利用
Modelの活用
Viewの活用
Controllerの活用
List‐Detailの関係
複数Viewの活用
Web API
状態管理
ルーティング〔ほか〕
著者等紹介
増田智明[マスダトモアキ]
Moonmile Solutions代表、株式会社H2ワークス技術顧問、システムガーディアン株式会社技術顧問。大学より30年間のプログラム歴を経て現在に至る。仕事では情報システム開発、携帯電話開発、構造解析を長くこなし、C++/C#/VB/Fortran/PHPなどを扱う。最近はRaspberry Pi/Arduinoに手を広げ、ソフトウェア開発における設計工程とCCPMにまい進中(本データはこの書籍が刊行された当時に掲載されていたものです)
※書籍に掲載されている著者及び編者、訳者、監修者、イラストレーターなどの紹介情報です。