山田 祥寛 著
Visual Studio/ASP.NETによる
Webプログラミングの標準教科書『独習ASP.NET』が
最新のVisual Studio 2019/ASP.Net 4.8に対応。
サンプルコードはC#/VB両対応。
Visual StudioでWebアプリケーション・Webフォームを
開発する際に必要となる、基礎的な知識やASP.NETの仕組みから、
サーバーコントロールの使い方と使い分け、データベース連携、
状態管理、Ajax/jQueryまで、詳細かつ丁寧に解説しています。
本書は解説、練習問題、理解度チェックという3つのステップで、
Webアプリケーション開発の基礎・基本テクニックを
しっかりと習得することができます。
実際にサンプルコードを入力し、動作を確認しながら学習することで、
いっそう理解を深めることができます。
ASP.NETを一からしっかり学びたいという方にオススメの一冊です。
Chapter 1 イントロダクション
1.1 ASP.NETとWebアプリケーション
・1.1.1 クライアント/サーバー間の通信
・1.1.2 静的なページと動的なページ
・1.1.3 クライアントサイド技術とサーバーサイド技術
・1.1.4 サーバーサイド技術とASP.NET
1.2 ASP.NETと.NET Framework
・1.2.1 .NET Frameworkとマネージコード
・1.2.2 .NET Frameworkの構造
・1.2.3 ASP.NETの構造
1.3 ASP.NETアプリケーションを開発/実行するための基本環境
・1.3.1 .NET Framework
・1.3.2 Webサーバー
・1.3.3 データベースサーバー
・1.3.4 統合開発環境
1.4 ASP.NETアプリケーション開発のための環境設定
1.5 Visual Studioの画面構成
・1.5.1 スタートウィンドウ
・1.5.2 ドキュメントウィンドウ
・1.5.3 ソリューションエクスプローラー
・1.5.4 ツールボックス
・1.5.5 プロパティウィンドウ
・1.5.6 サーバーエクスプローラー
この章の理解度チェック
Chapter 2 ASP.NETの基礎
2.1 ASP.NETアプリケーションの基本
・2.1.1 [補足]エラー時の対処方法
2.2 ASP.NETアプリケーションの構造
・2.2.1 ASP.NETアプリケーションのフォルダー構造
・2.2.2 コードビハインド
・2.2.3 Webフォームの基本構造
・2.2.4 [補足]ASP.NETの実行過程とPageオブジェクト
2.3 ASP.NETを理解する3つの仕組み
・2.3.1 サーバーコントロール
・2.3.2 イベントドリブンモデル
・2.3.3 ビューステート
2.4 学習を始める前に
・2.4.1 作業用フォルダーの準備
・2.4.2 サンプルの展開方法
・2.4.3 [補足]製品の登録
この章の理解度チェック
Chapter 3 基本サーバーコントロール
3.1 フォームコントロール
・3.1.1 ASP.NETのフォームコントロール
・3.1.2 [例1]リストコントロールへの入力値を取得する(単一選択)
・3.1.3 [例2]リストコントロールへの入力値を取得する(複数選択)
・3.1.4 [例3]ファイルをサーバー上にアップロードする
・3.1.5 [例4]複数ファイルを同時にアップロードする
3.2 表示系コントロール
・3.2.1 文字列を表示する―Label/Literalコントロール
・3.2.2 ハイパーリンクを生成する―HyperLinkコントロール
・3.2.3 画像を表示する―Imageコントロール
3.3 ボタンコントロール
・3.3.1 [例5]クリック時にJavaScriptのコードを実行する―OnClientClickプロパティ
3.4 検証コントロール
・3.4.1 検証コントロール利用の準備
・3.4.2 検証コントロールの基本
・3.4.3 検証コントロール共通のプロパティ
・3.4.4 検証メッセージをサマリー表示する―ValidationSummaryコントロール
・3.4.5 必須項目をチェックする―RequiredFieldValidatorコントロール
・3.4.6 入力値の範囲を検証する―RangeValidatorコントロール
・3.4.7 データ型、値の大小を比較検証する―CompareValidatorコントロール
・3.4.8 正規表現で文字列パターンを検証する―RegularExpressionValidatorコントロール
・3.4.9 カスタムの検証ルールを適用する―CustomValidatorコントロール
・3.4.10 [補足]控えめな検証
この章の理解度チェック
Chapter 4 データバインドコントロール
4.1 データバインドコントロール利用の基礎知識
・4.1.1 データベースサーバー
・4.1.2 データソースコントロール
4.2 データベース操作の基本
・4.2.1 SQL Serverへのアクセス方法
・4.2.2 SQLの基本
4.3 GridViewコントロール
・4.3.1 GridViewコントロールの基本
・4.3.2 [補足]接続文字列で利用できるパラメーター
・4.3.3 [例1]グリッド表の列をカスタマイズする
・4.3.4 列情報を定義するXxxxxFieldクラス
・4.3.5 [例2]TemplateFieldクラスで列表示をテンプレート化する
・4.3.6 GridViewコントロールで利用可能なイベント
・4.3.7 [例3]ソート時にソート行/方向をアイコン表示する
4.4 FormView/DetailsViewコントロール
・4.4.1 [例4]データベース上のデータを単票表示する
・4.4.2 FormViewコントロールのイベント
4.5 ListViewコントロール
・4.5.1 ListViewコントロールの基本
・4.5.2 [例5]データ項目のグループ化
・4.5.3 [補足]ページャーのカスタマイズ
この章の理解度チェック
Chapter 5 データソースコントロール
5.1 SqlDataSourceコントロール
・5.1.1 [例1]SQL命令にパラメーターを受け渡す方法
・5.1.2 [例2]データベースにバイナリデータを登録する(パラメーターのバインド)
・5.1.3 [例3]GridViewコントロールで階層的なデータを表現する
・5.1.4 オプティミスティック同時実行制御
・5.1.5 ストアドプロシージャ
・5.1.6 [例4]ストアドプロシージャを利用する
・5.1.7 [補足]ストアドプロシージャで戻り値を使用する方法
5.2 データアクセスの基本―ADO.NET
・5.2.1 ADO.NETとは?
・5.2.2 接続型アクセスと非接続型アクセス
・5.2.3 接続型アクセスのデータプロバイダー
・5.2.4 接続型アクセスによる参照処理
・5.2.5 [補足]接続型アクセスでの注意点
・5.2.6 接続型アクセスによる更新処理
・5.2.7 非接続型アクセスの基本
・5.2.8 非接続型アクセスによる参照処理
・5.2.9 接続型アクセス/非接続型アクセスを使い分けるポイント
5.3 ObjectDataSourceコントロール
・5.3.1 ObjectDataSourceコントロール経由でデータを取得する
・5.3.2 データアクセスコンポーネントの開発
・5.3.3 [補足].xsdファイルの正体
・5.3.4 [例5]大量データのページング機能を実装する
・5.3.5 トランザクション処理
5.4 モデルバインディング
・5.4.1 [前提知識]Entity Framework
・5.4.2 モデルバインディングによる実装
・5.4.3 型付けされたデータバインドコントロール
この章の理解度チェック
Chapter 6 組み込みオブジェクト
6.1 リクエスト情報を取得する―Requestオブジェクト
・6.1.1 ポストデータを取得する―Formプロパティ
・6.1.2 クエリ情報を取得する―QueryStringプロパティ
・6.1.3 リクエストヘッダーを取得する
・6.1.4 リクエストURLを取得する
6.2 クライアントへの応答を制御する―Responseオブジェクト
・6.2.1 HTTPステータスを設定する―StatusCodeプロパティ
・6.2.2 コンテンツタイプを設定する―ContentTypeプロパティ
・6.2.3 バイナリデータを出力する―OutputStreamプロパティ
・6.2.4 リダイレクトとフォワードの違いを理解する
・6.2.5 [補足]もう1つのリダイレクトメソッド
・6.2.6 レスポンスヘッダーを発行する―AppendHeaderメソッド
・6.2.7 任意のファイルを出力する―WriteFileメソッド
6.3 トレース機能を利用する―Traceオブジェクト
・6.3.1 トレース機能の基本
・6.3.2 トレース情報にメッセージを追加する
・6.3.3 [補足]トレースビューア
この章の理解度チェック
Chapter 7 状態管理
7.1 ビューステート
・7.1.1 [例1]数当てゲームを作成する
・7.1.2 [補足]ビューステートが必要な理由
7.2 クッキー
・7.2.1 [例2]クッキーの基本的な読み書き
・7.2.2 クッキーのデフォルト設定を宣言する
7.3 セッション情報
・7.3.1 セッション機能の基本
・7.3.2
・7.3.3 セッションの外部プロセス管理
・7.3.4 セッションのSQL Server管理
7.4 アプリケーション変数
・7.4.1 アプリケーション変数の基本
・7.4.2 [補足]アプリケーション変数の使いどころと制約
7.5 キャッシュ機能
・7.5.1 ページキャッシュの基本
・7.5.2 リクエストヘッダーでキャッシュを振り分ける―VaryByHeader属性
・7.5.3 ページキャッシュの共通ルールを定義する―
・7.5.4 データキャッシュの基本
・7.5.5 データベースキャッシングを利用する
・7.5.6 Cacheオブジェクトでキャッシュを操作する
・7.5.7 有効期限や依存関係を持つキャッシュを生成する
この章の理解度チェック
Chapter 8 ASP.NET Identity
8.1 ASP.NETの認証ライブラリ
8.2 ASP.NET Identityの基本
8.3 ASP.NET Identityの基本設定
・8.3.1 ユーザー情報を表すApplicationUserクラス
・8.3.2 ユーザー情報を操作するApplicationUserManagerクラス
・8.3.3 アクセス可否を制御するWeb.config
8.4 ログイン/新規ユーザー登録
・8.4.1 ログイン処理
・8.4.2 新規ユーザーの登録
・8.4.3 [補足]認証データベースの確認
・8.4.4 アカウントのロックアウト
8.5 電子メールによる本人確認とパスワードリセット
・8.5.1 メール送信の準備
・8.5.2 電子メールによる本人確認
・8.5.3 [補足]メールリンクからのアカウント確認
・8.5.4 パスワードの再設定
・8.5.5 2要素認証
8.6 プロファイル機能
・8.6.1 プロファイル項目の追加
・8.6.2 ユーザー登録画面の修正
8.7 ロール単位でのアクセス制御
・8.7.1 ロールの基本クラス
・8.7.2 ロール管理のためのクラス
・8.7.3 ユーザー登録画面の修正
・8.7.4 Adminロール専用フォルダーの作成
8.8 認証に関わるそのほかのテーマ
・8.8.1 ソーシャルアカウントと連動した認証
・8.8.2 ログインコントロール
この章の理解度チェック
Chapter 9 リッチコントロール
9.1 ナビゲーションコントロール
・9.1.1 サイトマップファイル
・9.1.2 開閉可能なツリー式のメニューを生成する―TreeViewコントロール
・9.1.3 リッチなメニューを生成する―Menuコントロール
・9.1.4 パンくずリストを生成する―SiteMapPathコントロール
・9.1.5 [例1]サイトツリーの基点を変更する
・9.1.6 [例2]サイト内に複数のサイトマップファイルを配置する
・9.1.7 [例3]セキュリティトリミング機能を利用する
・9.1.8 [例4]サイトマップ情報をプログラムから参照する
・9.1.9 [例5]データベースからTreeView/Menuコントロールを生成する
9.2 Wizardコントロール
・9.2.1 Wizardコントロールの基本
・9.2.2 [補足]テンプレートによるウィザードステップのカスタマイズ
9.3 MultiViewコントロール
・9.3.1 [例6]一覧/詳細画面の切り替えビューを作成する
・9.3.2 [補足]MultiViewコントロールとWizardコントロールの使い分け
9.4 Calendarコントロール
・9.4.1 [例7]日付データの簡易入力
・9.4.2 [例8]カレンダーに任意の情報を埋め込む
9.5 Chartコントロール
・9.5.1 Chartコントロールの構造
・9.5.2 Chartコントロールの基本
・9.5.3 複合グラフを作成する
この章の理解度チェック
Chapter 10 部品化技術
10.1 ユーザーコントロール
・10.1.1 ユーザーコントロールの基本
・10.1.2 ユーザーコントロールでプロパティを定義する
・10.1.3 フラグメントキャッシュを利用する
10.2 カスタムコントロール
・10.2.1 カスタムコントロールの基本
・10.2.2 カスタムコントロールの挙動を決める属性
10.3 マスターページ
・10.3.1 マスターページの基本
・10.3.2 [例1]マスターページの内容を動的に変更する
・10.3.3 [例2]マスターページを入れ子で適用する
・10.3.4 [例3]マスターページによるSEO対策
・10.3.5 [補足]スタイルシート
10.4 Global.asax
・10.4.1 Global.asaxで利用可能なイベント
・10.4.2 [例4]アプリケーションへのアクセスログを記録する
・10.4.3 [例5]アプリケーションで発生した例外の情報をロギングする
・10.4.4 [例6]URLルーティングを有効にする
・10.4.5 [応用]URLルーティングのさまざまな設定
・10.4.6 [補足]FriendlyURLsモジュール
・10.4.7 HTTPモジュールによるアプリケーションイベントの処理
10.5 HTTPハンドラー
・10.5.1 [例7]特定の拡張子へのアクセスを禁止する
・10.5.2 [例8]HTTPハンドラーを実装する
10.6 Page派生クラス
・10.6.1 [例9]アプリケーションの検証メッセージを一元管理する
10.7 構成ファイル
・10.7.1 構成ファイルの基本
・10.7.2 アプリケーション構成ファイルの骨組み
・10.7.3 アプリケーション設定を定義する―
・10.7.4 特定のファイルだけに設定を適用する―
・10.7.5 ページのデフォルトの挙動を設定する―
・10.7.6 [補足]クロスサイトスクリプティング脆弱性
・10.7.7 カルチャ/文字コード設定を定義する―
この章の理解度チェック
Chapter 11 Ajax開発
11.1 Ajax技術とASP.NET
・11.1.1 ASP.NETにおけるAjax技術の選択肢
11.2 ASP.NET AJAX Extensions
・11.2.1 ページの一部だけを更新する―UpdatePanelコントロール
・11.2.2 [補足]UpdatePanelコントロールを利用する場合の注意点
・11.2.3 非同期通信中であることを表す―UpdateProgressコントロール
・11.2.4 一定時間おきに決まった処理を実行する―Timerコントロール
11.3 jQuery
・11.3.1 jQueryの導入
・11.3.2 jQueryの基本
11.4 jQueryによるAjax通信
・11.4.1 サーバーサイドの機能を実装する
・11.4.2 [補足]ルーティング
・11.4.3 Web API呼び出しのクライアントページを実装する
・11.4.4 [補足]バンドル&ミニフィケーション
11.5 クライアントIDの制御
・11.5.1 サーバーIDとクライアントID
・11.5.2 クライアントIDの生成方法を決定する―ClientIDModeプロパティ
11.6 Bootstrap
・11.6.1 Bootstrapの有効化
・11.6.2 レスポンシブデザイン対応のグリッドシステム
・11.6.3 ページ上下に固定できるナビゲーションバー
・11.6.4 入力フォーム
この章の理解度チェック
付録A 本番環境への移行
A.1 Internet Information Servicesへの配置
・A.1.1 IIS 10.0を準備する
・A.1.2 アプリケーションの配置
A.2 Microsoft Azureへの配置
・A.2.1 Azureの準備
・A.2.2 アプリケーションの配置
付録B 「練習問題」「この章の理解度チェック」解答
付属データはこちら
内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。
正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。
本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。
刷数は奥付(書籍の最終ページ)に記載されています。
書籍の種類:
書籍の刷数:
本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。
対象の書籍は正誤表がありません。
Kouichi Ume さん
2021-10-26
周りに.net教えてくれる人いなくて、とりあえず読んでみましたた。現在のWEBシステムのアーキテクチャ RoRでもdjangoでもmvcのようになっていて、asp.net mvcというフレームワークも出ているのですが、この本で取り扱っているasp.netは、全く別のフレームワークです。これらの技術はもう終わりに近づいていると感じています。新しくここから勉強する理由はそれほど見つからないと思います。仕事だとどうしても、過去のフレームワークの知識必要になるので、僕のような仕事の仕方している人向けかと思いました