特集

Visual Studio 2005がやってきた(後編)

VS 2005で変革されたASP.NET、Windowsフォーム、ADO.NETを総覧

山田 祥寛(http://www.wings.msn.to/
2006/01/25

Page1 Page2 Page3

ASP.NET 2.0の新機能

 いまさら声を大にするまでもなく、ASP.NETはWebアプリケーション構築のための優れたフレームワークであり、開発基盤だ。特に、豊富に用意されたWebアプリケーション用の部品であるサーバ・コントロールは完成度も極めて高く、これまで多くのコードを記述しなければ実現できなかった定型的な機能を限りなくプログラムレスで実現できる。

ASP.NETで学ぶVisual Studio .NETの魅力

 ASP.NET 1.xでも十分に高い開発生産性を実現していると筆者などは十分に満足していたのだが、ASP.NET 2.0ではサーバ・コントロールはもちろん、さまざまな機能追加/変更が行われ、より使いやすく、高度な機能性を持ったサイトの構築が可能となっている。ASP.NET 2.0を一度経験したら、ASP.NET 1.xにはもう戻れなくなること請け合いだ。

■追加されたサーバ・コントロール

 ASP.NET 2.0では、既存のサーバ・コントロールが機能強化されたにとどまらず、新たに多くのサーバ・コントロールが追加されている。以下に、ASP.NET 2.0で追加された主要なコントロールをまとめてみよう。

分類 コントロール名 概要
標準 BulletedList 黒丸付きのリスト
FileUpload ファイル・アップロード用のテキストボックス
HiddenField 隠しフィールド
Localize ローカライズされたテキストを表示
リッチ ImageMap クライアント・サイドのイメージ・マップ
MultiView 複数のビューを格納するコンテナ(Viewコントロールとセットで使用)
Substitution キャッシュの除外領域を定義
View 個々のビューを定義(MultiViewコントロールとセットで使用)
Wizard ウィザード形式の機能を提供
マスター・ページ ContentPlaceHolder 個別ページから定義可能なコンテンツのプレイス・ホルダを定義
Content プレイス・ホルダに埋め込むコンテンツを定義
データ DetailsView レコード単位の詳細情報を表示するためのビュー
FormView 明細フォーム形式の参照/編集機能を備えるビュー
GridView DataGridコントロールの進化版
データソース AccessDataSource Microsoft Access用のデータソース
DataSetDataSource テーブル・スタイルのXMLデータを表すデータソース
ObjectDataSource ビジネス・オブジェクトを表すデータソース
SiteMapDataSource サイトマップ用のデータソース
SqlDataSource ADO.NET対応データベース用のデータソース
XmlDataSource XMLファイル用のデータソース
ログイン ChangePassword パスワード変更画面を提供
CreateUserWizard 新規ユーザー作成ウィザードを提供
Login ログイン画面を提供
LoginName カレント・ユーザーの名前を表示
LoginStatus ログイン状態に応じてログイン/ログアウトのリンクを表示
LoginView 認証状態に応じて、異なるビューを定義
PasswordRecovery パスワード問い合わせ画面を提供
ナビゲーション Menu リッチなメニュー
SiteMapPath 現ページのサイト内の位置(パス)
TreeView ツリー構造のビュー
Webパーツ WebPartManager ページ内に配置されたWebパーツを制御
WebPartZone 個々のコンテンツを配置するためのコンテナ
CatalogZone XxxxxCatalogPart用のコンテナ
XxxxxCatalogPart ページ上のWebパーツを編集するためのUIを提供
EditorZone XxxxxEditorPartのコンテナ
XxxxxEditorPart Webパーツそのものの設定編集を行うためのUIを提供
ConnectionsZone Webパーツとそのほかのサーバ・コントロールとの接続を形成するUIを提供
ASP.NET 2.0で追加された主なサーバ・コントロール
これらのコントロールは、VS 2005のツールボックスからフォームにドラッグ&ドロップして利用できる。

 ログイン・ページやナビゲーションUIを提供するログイン・コントロールやナビゲーション・コントロール、データベースへの参照/更新を限りなくプログラムレスで実現するデータ/データソース・コントロール、My Yahoo!のようなパーソナライズ・ページの構築を支援するWebパーツ・コントロールなどなど、いずれ劣らぬ魅力的なコントロールばかりだが、筆者が特に気に入っているのは、マスター・ページを構築するためのContentPlaceHolder/Contentコントロールだ。

ASP.NET 2.0のマスター・ページとサイトマップ

 マスター・ページとは、その名のとおり、ヘッダやメニュー、フッタなど、サイト共通のレイアウトを1枚の「ページ」として管理する機能のこと。従来、こうした共通レイアウト部品を管理するには、ユーザー・コントロール(「.ascx」ファイル)を利用するしかなかった。しかし、ヘッダ部品、メニュー部品、フッタ部品など、個々に定義されたコントロールの1つ1つを各ページに配置しなければならず、保守性という観点からは決して最上のソリューションとはいえなかった。

 だが、マスター・ページを利用することで、個々のページでは共通レイアウトを何ら意識する必要はなくなる。ページ固有のコンテンツを作成することだけに集中できるので、開発者の負担を軽減できるというわけだ。もちろん、共通レイアウトに変更が生じた場合にも、マスター・ページだけを更新すればよい。

マスター・ページを用いたサイトの例
ヘッダ、メニュー、フッタ部分などをマスター・ページで共通化することで、コンテンツ部分の開発に集中できる。

 デザインの共通化といえば、ASP.NET 2.0で追加された「テーマ&スキン」についても注目しておきたい。

テーマとプロファイルでユーザー指向のページを作成

 テーマ&スキンは、ASP.NET 2.0においてサイト共通のデザインを管理するための機能だ。あらかじめスキン・ファイルと呼ばれるスタイル定義ファイルを作成しておくことで、サイト上の各ページに対して一律なデザインを適用できる。もちろん、デザインを変更したいという場合にも、スキン・ファイルを入れ替えるだけでよいので、開発者の手を煩わすことがないというわけだ。

 もちろん、ASP.NET 2.0で追加されたのは、サーバ・コントロールばかりではない。

 データベースの更新時にキャッシュをリフレッシュする「データベース・キャッシング」や<軽い>ポストバックを実現する「クライアント・コールバック」、異なるページへのポストバックを制御する「ページ間ポストバック」、クライアント・スクリプトとの連携などなど、大小こもごも新機能が満載だ。また、既存機能の改善として、検証コントロールの強化も見逃せない。これらの詳細については、拙稿「連載:ASP.NET 2.0が変えるWebアプリ開発の世界」も併せて参照いただくとよいだろう。

■改善された周辺環境

 ASP.NET 2.0の新機能というと、とかくサーバ・コントロールのようにビジュアルな機能部分に関心が向きがちであるが(実際それらは関心を向けるに十分に値するのだが)、開発生産性を改善する周辺技術の進化も見逃せない。

 例えば、「ASP.NET Webサイト管理ツール」。ASP.NETアプリケーション開発に際してよく使用する管理項目の設定をブラウザ上から行えるようにしたものだ。これは、VS 2005のメニューから[Webサイト]−[ASP.NET構成]を選択することで起動できる。

 この管理ツールを利用することで、認証の種類やユーザー/ロール、アプリケーションの設定パラメータなど、ASP.NETアプリケーションを構築するうえでよく使用する項目をブラウザ上から設定することが可能になっている。

ASP.NET Webサイト管理ツール
ユーザー/ロールやアプリケーションの設定パラメータなど、ASP.NETでよく使用する設定項目をブラウザ上から編集できる。

 また、ASP.NET 2.0ではIIS(Internet Information Services)マネージャにも専用のGUI管理ツールが追加された。

 VS 2005ではインテリセンス機能の強化によって、machine.config、web.configなどを設定するためのXMLファイルの編集作業も比較的容易になったが、これもあくまで構成ファイルを熟知している人間を入力レベルで支援するだけのもので、初学者のストレスを必ずしも軽減するものではない。しかし、管理ツールを用いることで、machine.configやweb.configの編集をより直感的に行うことができる。



[構成の編集]ボタンをクリック

IISマネージャに追加されたASP.NET構成管理ツール
管理ツールを起動するには、IISマネージャから[Webサイトのプロパティ](または[<仮想ディレクトリ名>のプロパティ])を開き、[ASP.NET]タブを選択する。アプリケーションで使用するASP.NETのバージョンをはじめ、machine.configやweb.configの主要な項目をGUI画面上で編集できる(ただし、machine.configの編集は[Webサイトのプロパティ]でのみ編集可)。ここで[構成の編集]ボタンをクリックすると[ASP.NET 構成の設定]ダイアログが開く。これまでXMLファイルの編集により行っていた作業をこのGUI画面で行える。

 VS 2005で新たに提供された「ASP.NET 開発Webサーバ」にも注目だ。

 従来、VS.NETの環境で開発したASP.NETアプリケーションの動作を確認するには、あらかじめIISを開発環境上にインストールしておく必要があった。しかし、セキュリティ事情も厳しくなってきている昨今、開発のためだけにIISを導入したくないという方も多いだろうし、そもそもWindows XP Home Editionなど、IISをインストールできないプラットフォーム環境で開発を行っているケースも考えられる。

 そんな諸兄は、VS 2005に用意された開発者向けの簡易Webサーバである「ASP.NET 開発Webサーバ」を使用すればよい。仮想ディレクトリやそのほか、パラメータ設定は一切できない、ローカル環境からしかアクセスできないなど、あくまで開発目的の制限付きサーバだが、これによって開発環境上にいちいちIISを導入することなく、ASP.NETアプリケーションの開発を行える。

ASP.NET 開発Webサーバ
ASP.NET 開発Webサーバは、VS 2005からASP.NETアプリケーションを開始したタイミングで自動起動する。画面は、タスクトレイのアイコンから[詳細の表示]を選択したもの。開発Webサーバは、アプリケーションを終了すればシャットダウンされる。

周辺技術が支えるASP.NET 2.0の進化

 そのほかにも、アプリケーションの「事前コンパイル」機能や、デプロイ作業をより便利にする「Deployment Environment」ツールなど、ASP.NET 2.0ではさまざまな機能が追加されている。本稿では取り上げられなかったテーマについては、ぜひ関連記事も併せて参照していただくとよいだろう。


 INDEX
  [特集]Visual Studio 2005がやってきた(前編)
  さらに進化した統合開発環境の主要な新機能を総括
    1.VS 2005で作成可能なアプリケーションの種類
    2.統合開発環境としての新機能(1)
    3.統合開発環境としての新機能(2)
   
  [特集]Visual Studio 2005がやってきた(中編)
  VS 2005で新しくなったVisual BasicとC#の新機能を総括
    1.VS 2005で使用可能な言語/部分クラス/ジェネリック
    2.Nullable型/プロパティのアクセシビリティ/My機能/Usingステートメント/既定インスタンス
    3.反復子(イテレータ)/匿名メソッド/静的クラス
   
  [特集]Visual Studio 2005がやってきた(後編)
  VS 2005で変革されたASP.NET、Windowsフォーム、ADO.NETを総覧
    1. .NET Framework 2.0の新機能
  2. ASP.NET 2.0の新機能
    3. Windowsフォーム 2.0の新機能&ADO.NET 2.0の新機能
 


Insider.NET フォーラム 新着記事
  • 第2回 簡潔なコーディングのために (2017/7/26)
     ラムダ式で記述できるメンバの増加、throw式、out変数、タプルなど、C# 7には以前よりもコードを簡潔に記述できるような機能が導入されている
  • 第1回 Visual Studio Codeデバッグの基礎知識 (2017/7/21)
     Node.jsプログラムをデバッグしながら、Visual Studio Codeに統合されているデバッグ機能の基本の「キ」をマスターしよう
  • 第1回 明瞭なコーディングのために (2017/7/19)
     C# 7で追加された新機能の中から、「数値リテラル構文の改善」と「ローカル関数」を紹介する。これらは分かりやすいコードを記述するのに使える
  • Presentation Translator (2017/7/18)
     Presentation TranslatorはPowerPoint用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Insider.NET 記事ランキング

本日 月間