はじめに
ASP.NET 4.5が昨年8月にリリースされてから、もうすぐ一年が経とうとしています。ASP.NET 4.5の新機能は非常に多い上、日本語情報がまだまだ少なく、すべてを把握することは容易ではありません。
本連載ではASP.NET 4.5の新機能のうち、Webフォームにターゲットを絞り、活用例と共に全6回に渡って紹介していく予定です。連載の目的は、次のような読者にASP.NET 4.5の新機能を業務アプリケーションに活用できるようになってもらうことです。
- 前回連載「実例で学ぶASP.NET Webフォーム業務アプリケーション開発のポイント」で紹介したような、ASP.NET 4.0までのWebフォームの機能は把握している
- 最新のASP.NETのWebフォームについて知りたい
前の連載をまだ読んでいないようであれば、ぜひそちらも併せて参照することで、より理解が深まることでしょう。
ASP.NET 4.5 Webフォーム新機能概要
それぞれ新機能の解説に入る前に、まずは大まかにどのようなものが追加されたのか見てみましょう。ASP.NET Webフォームの新機能には次のようなものがあります。
厳密に型指定されたデータコントロール
GridView、FormViewなどのデータコントロールで、データバインドするオブジェクトの型を厳密に指定できる機能です。第2回で取り上げます。
モデルバインド
サーバーコントロール、クエリ文字列、セッション状態などの値を、「モデル」の値にバインドする機能です。ASP.NET MVCではおなじみの機能ですが、Webフォームでは今回初めて採用されました。第3回で取り上げます。
モデル検証
UIで入力された値の検証処理を「モデル」に持たせる機能です。ASP.NET MVCではすでに導入済みです。第4回で取り上げます。
目立たない検証
検証コントロールにより生成されるクライアントサイドスクリプトを「目立たなく」させる機能です。第5回で取り上げます。
HTMLエンコードされたデータバインド式
従来はHttpUtility.HtmlEncodeメソッドを用いて行っていたHTMLエンコードを、自動的に行ってくれるデータバインド式です。第2回で取り上げます。
HTML5フォームのサポート
サーバーコントロールとして、email、telなどのHTML5属性が使えます。第5回で取り上げます。
非同期ページ
C# 5.0でお目見えしたasync/awaitを活用する非同期なWebページです。第5回で取り上げます。
これ以外にも細かなところで変更が入っています。詳しくは「ASP.NET 4.5およびVisual Studio 2012 - MSDN Library」を参照してください。
新機能をどう活用していくか
ASP.NET 4.5のWebフォーム新機能の概要から、どう活用していけばよいか私なりに考えた結果は、「データバインドを中心としたアプリケーション」の促進です。
これまでもデータソースコントロール、データバインドコントロール、およびデータバインド式を用いて、データバインドを中心に据えたアプリケーションの開発を行うことができました。ただ、「データバインド時」「コマンド実行時」などのイベントベースで処理を記述するため、検証や更新処理の記述が分散しがちでした。また、データソースコントロールという「余分」なコントロールが必要となっていました。
ASP.NET 4.5で新たに加わったモデルバインド、モデル検証を使うと、「登録」や「変更」といったコマンドベースで、検証→更新と一連の処理を記述できるようになり、コードの可読性が向上します。また、厳密に型指定されたデータコントロールにより、型安全にデータバインドが行えるようになりました。さらに、データソースコントロールがなくても直接コードビハインドに定義したメソッドと連結できるようになり、aspx側がシンプルになります。
ASP.NET 4.5へのアップグレード
ASP.NET 4.5 Webフォーム新機能の全体像をつかんだところで、いよいよASP.NET 4.5を活用する手順について説明していきましょう。
連載初回である今回は、まずは既存のASP.NET 4.0用のWebフォームアプリケーションを、ASP.NET 4.5へアップグレードする手順について説明します。アップグレード対象は、前回連載で作成した「会議室予約システム」です。システム概要は次のとおりです。
- システム名はMRRS(Meeting-Room Reservation System)
- 対象会議室、空き時間を調べ、会議室の予約を行える
- 会議室は場所情報も持つ
- 予約情報は、予約日時(From-To)、会議室、用途、備考を持つ
- 予約情報は履歴を残す
今回は、前回連載第8回の記事のサンプルをもとにアップグレードを行っていきます。ASP.NET 4.5へのアップグレードには、大きく分けて以下の3つの作業が必要です。
- ターゲットフレームワークの変更
- EntityFrameworkのバージョン変更
- SQL Server 2012 Express LocalDBへの切り替え
それぞれ見ていきましょう。