SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

VS 2008を利用したASP.NET 3.5の開発方法を学習する

Visual Studio 2008で進化するASP.NET 3.5の開発手法(中篇)

VS 2008を利用したASP.NET 3.5の開発方法を学習する 2


VS 2008上でのASP.NET AJAX Control Toolkitの扱い方

 VS 2008では、エクステンダ ウィザードダイアログの導入によりControl Toolkitの利用がよりシンプルになりました。

 Control Toolkitで提供されるほとんどのコントロールはエクステンダコントロールと呼ばれ、既存のASP.NETサーバーコントロールに対して機能拡張を行うための機能を提供します(もちろん、単独で利用可能なコントロールもあります)。

 VS 2005とVS 2008では、このエクステンダコントロールの利用方法が異なります(VS 2005上での利用方法はこちらこちらの記事を参照)。

 VS 2008では、ターゲットに適用可能なエクステンダコントロールをダイアログに表示/選択できるようになりました(図1)。

図1 VS 2008上のControl Toolkit利用方法
図1 VS 2008上のControl Toolkit利用方法

 ダイアログを表示するには、エクステンダコントロールを適用させたいコントロール(ターゲット)から、タスクメニューの[エクステンダの追加…]を選択します。図2はTextBoxWatermarkExtenderコントロールを選択している例です。

 ダイアログ下部にエクステンダコントロールのIDを入力して[OK]をクリックします。

図2 エクステンダ ウィザードダイアログ
図2 エクステンダ ウィザードダイアログ

 追加されたエクステンダコントロールはHTMLデザイナ上でタグ表示されるのみで、フォームデザイナ上では表示されません。そのため、分割ビューを利用せずにフォームデザイナのみで閲覧している場合は、サーバーコントロールがエクステンダコントロールを適用しているかどうか識別できません。これはVS 2005上でControl Toolkitを利用したことがある方にとって違和感を覚える変更点かもしれません。

 VS 2008では分割ビューを利用するとControl Toolkitを利用した開発をより効率的に行えるので、積極的な利用をお勧めします。

 エクステンダコントロールのプロパティを設定する際には、従来のControl Toolkit同様にエクステンダコントロールを追加したコントロールのプロパティウィンドウに、拡張されたプロパティが追加表示されます。

 エクステンダコントロールを削除するには、ターゲットコントロールのタスクメニューから[エクステンダの削除…]を選択してください(図3)。

図3 「エクステンダの削除…」が追加表示されたスマートタグ
図3 「エクステンダの削除…」が追加表示されたスマートタグ

自作のExtenderコントロールの利用方法

 Control Toolkitには自作のエクステンダコントロールを作るためのテンプレートも用意されています。インストール方法や作成方法の詳細については「ASP.NET AJAXで学ぶAJAX対応コントロール実装の基本」を参照してください。以下の内容を理解するには最低限、上記リンクの内容を把握している必要があります。

 自作のエクステンダコントロールをエクステンダ ウィザードダイアログに表示させるにはいくつかの条件があります。今回は自作コントロールのプロジェクトとこれを利用するWebサイトが同一のソリューション内にある場合について解説します。

  1. 自作エクステンダコントロールのプロジェクト上で作成後ビルドを行う
  2. ビルドによりツールボックスに自作のエクステンダコントロールが表示される
  3. Xxxx.aspxページ上でエクステンダコントロールを適用できるサーバーコントロールを配置する
  4. スマートタグからエクステンダ ウィザードダイアログを展開すると自作のエクステンダコントロールが表示される

 この場合、自作コントロールプロジェクトのビルドを行うことが重要です。このビルドにより、ツールボックスに自作のエクステンダコントロールのタブとコントロールが作成/追加されます。つまり、追加時にエクステンダ ウィザードダイアログに追加表示する設定が行われます(IDEによる自動設定)。

外部で提供されているエクステンダコントロールを利用する場合
 もし、外部で提供されているコントロールを利用したい場合は、通常の追加手順と同じように設定を行います。DLLをBinフォルダに配置して、ツールボックス上で[タブの追加]を行います(既存のタブに作成する場合は追加の必要はありません)。続いて[アイテムの選択]を選んで、Binフォルダに配置したDLLを選択してツールボックスに追加します。この場合もツールボックスに追加された段階でエクステンダ ウィザードダイアログに追加表示する設定が行われます。
 

 エクステンダ ウィザードダイアログに表示するエクステンダコントロールを決めるのは、xxxExtender.vbファイルにおけるTargetControlType属性の役割です。

XxxxExtender.vbのTargetControlType属性の指定部分
<TargetControlType(GetType(クラス名))>

 ここで指定したコントロール(または、その派生コントロール)がターゲットとなる場合にのみ、エクステンダコントロールはエクステンダ ウィザードダイアログに表示されます(図4)。

図4 エクステンダ ウィザードダイアログに追加された自作エクステンダコントロール
図4 エクステンダ ウィザードダイアログに追加された自作エクステンダコントロール
Control Toolkit最新動向
 Control Toolkitは9月20日(10920版)と11月19日(11119版)にマイナーバージョンアップされています。それぞれのバージョンアップについて解説します。
 10920版では主に既存のコントロールで既知の問題となっていたバグフィックスが中心でしたが、他にもいくつかのコントロールに対して追加機能が搭載されています。
  • Calendarコントロール
    • カレンダー日付の初期値設定を行うSelectedDateプロパティの追加
    • カレンダーの日にちを選択した時の表示形式を表すFormatプロパティの追加
  • ModalPopupExtenderコントロール
    • ウィンドウのリサイズとスクロールに応じてModalPopupウィンドウの移動をさせないRepositionModeプロパティの追加
  • ConfirmButtonExtenderコントロール
    • ModalPopupExtenderコントロールを利用したアラートダイアログの表示を可能にするDisplayModalPopupIDプロパティの追加
  • AutoCompleteExtenderコントロール
    • オートコンプリートリストの最初のオプションが既定で選ばれるかどうかを決めるFirstRowSelectedプロパティの追加
    • オートコンプリートの最後を示す文字を登録するDelimiterCharactersプロパティの追加
  • SliderExtenderコントロール
    • CSSプロパティを利用したスライダーのカスタマイズに対応
 11119版では、バグフィックスとVS 2008RTM対応が行われました。このバージョンではVS 2005+AJAX 1.0を利用するにはV 1.0.XXXXを、VS 2008+ASP.NET 3.5で利用する場合にV 3.0.XXXXといった明確なバージョン分けが行われています。今後必要な環境に応じてそれぞれダウンロードして利用することになります。
 尚、11月30日付で11119版はエクステンダ ウィザードダイアログを利用できるように修正され、再リリースされました。Control Toolkit Web Siteテンプレートが消失していますが、今回ご紹介した機能は利用できます。
 

次のページ
.NET Framework 3.5で追加されたBase Class Library

この記事は参考になりましたか?

VS 2008を利用したASP.NET 3.5の開発方法を学習する連載記事一覧

もっと読む

この記事の著者

山田 祥寛(ヤマダ ヨシヒロ)

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるLaravel実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

WINGSプロジェクト ナオキ(ナオキ)

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/1875 2008/08/21 21:17

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー