Visual Studio 2008とASP.NET 3.5で広がったクライアントサイド開発
Visual Studio 2008徹底入門(4)
ダウンロード サンプルファイル (3.6 MB)
Visual Studio 2008ではASP.NETの開発効率が大幅に向上しています。本稿では前回の連載よりも、もう少し踏み込んだ機能強化点についてご紹介していきます。
はじめに
Visual Studio 2008(以下、VS2008)ではASP.NETの開発生産性が大幅に向上しています。ASP.NET自身の進化もありますが、IDEの進化はWebデベロッパーにとって大きなインパクトを与えました。どれほど便利になったかは、以下の連載を参考にしていただければ理解が深まるかと思います。
- Visual Studio 2008で進化するASP.NETの開発手法(前篇)
- Visual Studio 2008で進化するASP.NETの開発手法(中篇)
- Visual Studio 2008で進化するASP.NETの開発手法(後篇)
本稿では、これらの連載では触れられなかった、クライアントサイドのテクノロジーを中心に紹介したいと思います。
これまでの記事
- 第1回:新しい統合開発環境 Visual Studio 2008ってなんだ!?
- 第2回:ここが違う! Visual Studio 2008
- 第3回:とことん理解する .NET Framework 3.5
対象読者
- Visual Studio 2008に興味がある方
- .NET Framework 3.5に興味がある方
- ASP.NET 2.0の開発経験がある方
必要な環境と準備
Visual Studio 2008入門第1回の必要な環境と準備を参考にしてください。
ASP.NET 3.5の新機能(本稿で触れる部分)
- VS2008のWeb開発用のホットフィックスについて
- UpdatePanelの機能拡張
- JavaScriptを使用してWebサービスを呼び出す
- ASP.NET AJAXのWCFサポート
- JavaScriptを使用したフォーム認証の利用
- JavaScriptを使用したロール情報の利用
VS2008のWeb開発用のホットフィックスについて
ASP.NET開発チーム(現マイクロソフトコーポレーション副社長)のScott Guthrie氏によると、今後VS2008では、報告が多いバグフィックスをまとめてパッチとしてリリースしていくことになるとされています。2月8日には、その第一弾となるVWD 2008(Visual Web Developer 2008)とVS2008のWebシナリオで報告されていたホットフィックスがリリースされました。このホットフィックスでは以下のパフォーマンスが改善されています。
- HTMLソースビュー
- デザインビュー
- Webサイトのビルド時
また、HTML、JavaScriptエディタ時の機能改善とバグフィックスがされています。RTM段階では正しく動作しなかったjQueryのインテリセンスも有効になりました。jQueryユーザーには非常に嬉しい変更点です。
肝心のホットフィックスのダウンロードはこちらからできます。なお、このホットフィックスをダウンロードするにはWindows Live IDが必要です。
ホットフィックスのインストール
Vista環境とXP環境で若干の違いがあるので、ここでは、Vista環境におけるインストール手順を記します。
- ダウンロードしたKB946581フォルダ内にある338649_ENU_i386_zip.exeを実行してC:\以外の場所に解凍
- 解凍されたVS90-KB946581.exeを実行
- ウィザードが起動するので、ウィザードに沿って進めるとインストール完了
UpdatePanelの機能拡張
ASP.NET 2.0 AJAX Extensionsには目玉とも言えるUpdatePanelコントロールがあります。このUpdatePanelコントロール内では、JavaScriptを利用しているコントロールが正しく動作しませんでした(もちろん、組み方によっては正しく動作するものもありました)。VS2008で利用可能なASP.NET 3.5 AJAX ExtensionsではUpdatePanelコントロール内で正しく動作するコントロールの幅が広がっています。
正しく動作しないコントロール
早速、違いを見てみたいと思います。まずはASP.NET 2.0 AJAX ExtensionsのUpdatePanelコントロール内で正しく動作しないコントロールです。
- TreeView/Menuコントロール
- WebPartsコントロール
- FileUploadコントロール
- GridView/DetailsViewコントロール(EnableSortingAndPagingCallbacksプロパティがTrueの時)
- Login/PasswordRecovery/ChangePassword/CreateUserWizardコントロール(編集可能なテンプレートではない時)
- Substitutionコントロール
- 検証コントロール
正しく動作するコントロール
続いてASP.NET 3.5 AJAX ExtenisonsのUpdatePanelコントロールで制限付きですが、正しく動作するコントロールと、その特徴をピックアップします。
- WebPartsコントロール
- WebPartZoneコントロールが複数ある場合は同じUpdatePanelコントロール内に配置する
- UpdatePanelを入れ子にする場合、WebPartManagerコントロールは親UpdatePanelコントロールに配置する
- 非同期ポストバックを使用してWebPartsコントロール(.webpartsファイル)のインポート・エクスポートは不可(実行すると通常のポストバックが実行)
- 非同期ポストバック中にWebPartsコントロールのスタイルの追加・変更は不可(エディタパーツによる設定変更)
- 検証コントロール
- 検証対象のコントロールと同一パネル内に配置することを推奨
以上の点からUpdatePanelコントロールを利用する際には、AJAX Extensionsのバージョンには注意してください。VS2008で開発を行う際はASP.NET 3.5を選択することが多いと思いますが、もしASP.NET 2.0 AJAX Extensionsの開発を行いたい場合は次のコラムを参照してください。
JavaScriptとScriptManagerコントロールを使用してWebサービスを呼び出す
これは、VS2005+ASP.NET 2.0 AJAX Extensionsから利用できた機能ですが、以下の説明にもつながってくる重要な技術なので紹介します。
ScriptManagerコントロールにはServicesプロパティがあります。このServicesプロパティにアクセスしたいWebサービスを設定すると、SriptManagerコントロールは、JavaScriptを使用したプロキシクラスを自動生成し、Webサービスへのアクセスを可能にします。このWebサービスへのアクセスは自作したWebサービス以外に、メンバシップサービスや、ロール管理サービスなどのアプリケーションサービスにアクセスすることもできます。
<asp:ScriptManager ID="ScriptManager1" runat="server"> <Services> <asp:ServiceReference Path="Webサービス.asmx" /> </Services> </asp:ScriptManager>
本稿を理解するために重要なポイントはプロキシクラスの構文です。クライアントサイドからWebサービスを呼び出す場合、基本は以下のようになります。
クラス名.メソッド名( [パラメータ, ……], 処理成功時のコールバック関数, サービス側で例外が発生時のコールバック関数, 任意のコンテキスト値 )
動作の流れや仕組みなどは、「[ASP.NET AJAX]XML Webサービスを非同期呼び出しするには?」(@IT)にて詳しく解説されているので、そちらを参考にしてください。
この記事は参考になりましたか?
- この記事の著者
-
山田 祥寛(ヤマダ ヨシヒロ)
静岡県榛原町生まれ。一橋大学経済学部卒業後、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プロジェクト りばてぃ/FUJIKO/ナオキ(リバティ, フジコ, ナオキ)
<WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。 2026年時点での登録メンバは約50名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書、記事多数。 RSS X: @WingsPro_info(公式)、@WingsPro_info/wings(メンバーリスト) Facebook
※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です
【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社
この記事は参考になりましたか?
この記事をシェア

