連載:〜ScottGu氏のブログより〜ASP.NET MVCベータ版がリリースScott Guthrie 著/Chica 訳2008/10/24 |
|
|
本日(2008年10月16日)、ASP.NET MVCフレームワークの新しいベータをリリースしました。ここをクリックすればダウンロードできます。またwww.asp.net/mvcで、チュートリアル、クイックスタート、ビデオからもさらに学ぶことができます。
ASP.NET MVCベータは.NET 3.5および.NET 3.5 SP1の両方で動作し、VS 2008およびVisual Web Developer 2008 Express SP1(これは無償になっており、現在ではクラス・ライブラリおよびWebアプリケーションのプロジェクト・タイプをサポートしています)の両方をサポートしています。
本日のASP.NET MVCベータ・リリースには“go-live”ライセンスが付いていますので、製品環境に配置することができます。以前のプレビュー・リリースでもgo-live配置は可能でしたが、明示的にそれを許可するという今回のものとは逆に、配置の許可を否定しないということで配置が可能になっていました(これは混乱の原因でした)。本日のリリースはライセンスにより、よりクリアになっています。
このベータ・リリースはV1機能の完全版に近くなってきましたが、まだいくつか最終“V1”リリース前に追加する機能が残っています(いくつかのVSツールの更新も含まれます)。しかしチームがこのリリースを“ベータ”と呼ぶことにしたのは、品質とテスト精度が以前のプレビュー(多くのバグ修正とパフォーマンス調整が行われました)に比べより高いものになっており、コアの機能も“十分調理された”ものになっているため、この製品から最終製品までに大きな変更は行われないと感じたからです。
この投稿では、今回のビルドでの新しい機能や、以前の“Preview 5”リリースと比較して変更された点をいくつか簡単にまとめています。
- Visual Studioでの新しい“ビューの追加”メニュー
- 新しい\ScriptsディレクトリとjQueryのサポート
- 複合型に対するビルトインのモデル・バインダ・サポート
- リファクタリングされたモデル・バインダの基盤
- 強く型付けされたUpdateModelとTryUpdateModel WhiteListのフィルタリング
- 改善されたUpdateModelおよびTryUpdateModelシナリオの単体テスト
- 強く型付けされた[AcceptVerbs]属性
- 改善されたバリデーション・エラー・メッセージ
- HTMLヘルパのクリーンアップとリファクタリング
- Silverlight/ASP.NET MVCプロジェクトの統合
- ASP.NET MVC Futuresアセンブリ
- \BinとGACアセンブリの展開
また今後数週間で、いくつかのチュートリアルを公開し、まだ一度も触れたことがない人や、開始方法を示した一連の“最初から始めてみよう”チュートリアルを見た人に対して、ASP.NET MVCの概念をより深く説明しようと考えています。
Visual Studioの新しい“ビューの追加”メニュー
以前のASP.NET MVCでは、ビューを追加するためにはVSの[プロジェクト]−[新しい項目の追加]を選択し、必要なものすべての作成および設定を行うために、いくつかのステップを手動で行わなければなりませんでした(ディレクトリやファイル構造が正しいかどうかの確認や、コードビハインド・ファイルに強く型付けされたViewDataモデルの型を指定するなど)。
本日のベータではそれらのステップがより簡単になりました。現在ではソース・エディタでカーソルをコントローラのアクション・メソッド内に移動させ、右クリックして“ビューの追加”というコンテキスト・メニューの項目を選択するだけです(代わりに、[Ctrl]+[M]、[Ctrl]+[V]というショートカットで、キーボードから手を離すことなく、これを行うことも可能です)(図1)。
図1 |
これにより新しい“ビューの追加”ダイアログが表示され、作成したいビューやそのマスター・ページ、またオプションにより、その強く型付けされたViewData“モデル”の型の名前を指定できます(図2)。
図2 |
Visual Studioはカーソルがあるアクション・メソッドに基づいて、ビュー名を前もって自動的にひも付けします。例えば、もし“ビューの追加”を選択したときにカーソルが“Edit”アクション・メソッド内にあった場合、“Browse”の代わりに“Edit”というビュー名をテキストボックスにひも付けます。
ビューに対して強く型付けされたViewData“モデル”は、MVCプロジェクトにある(もしくは参照されている)すべてのクラスを一覧表示する編集可能なコンボボックスから選択できます(図3)。
図3 |
その一覧から型を選択することも、手動でコンボボックスに1つ入力することも可能です。例えば、“Product”クラスを一覧から選択し、コンボボックスの編集サポートを使用して、それをIEnumerable<Product>(製品のシーケンスという意味)としてラップできます(図4)。
図4 |
“Add”ボタンをクリックすると、Visual Studioは自動的に適切なビューのディレクトリ構造を作成し、適切な名前とベースクラスとともに強く型付けされたビューをプロジェクトに追加します。例えば、上記のステップを行った場合、新しい\Views\Productsディレクトリ(コントローラのクラス名が“ProductsController”なため)が作成され、強く型付けされた“Browse.aspx”がそこに追加されます(これは上記のダイアログで指示したモデルの型であるため、ViewPage<IEnumerable<Product>>から派生しています)(図5)。
図5 |
新たに作成されたビューが自動的にIDEで開きます。その後、完全なIntelliSenseを使ってビューを実装できます(TIPS:強く型付けされたモデルに対してIntelliSenseが表示されるように、ビューの作成後はビルドを必ずすぐに行ってください)(図6)。
図6 |
実行時には、ASP.NET MVCでビルドされ、SEOに最適化された製品検索ページが持てます(図7)。
図7 |
注:今回のベータ・リリースでは、「ビューの追加」で作成されたビューのファイルは空です。最終リリースでは、いくつかの“スカフォールディング”機能を「ビューの追加」ダイアログへ追加して、自動的にHTMLの一覧/詳細のビューを作成したり、「ビューの追加」ダイアログで指定された強く型付けされたモデルに基づいてフォームを編集/挿入するかどうかをオプションとして指定できたりするようにしたいと考えています(そうすることで、この初回のHTMLビューから開始して、そこから好みに応じて変更できます)。将来は、ASP.NET Dynamic DataとMVCを統合して、よりリッチなスカフォールディング・オプションをサポートする予定です。
新しい\ScriptsディレクトリとjQueryサポート
本日のリリースで出荷されたプロジェクト・テンプレートでは、新しい\Scriptsディレクトリがプロジェクトのルートの下に追加されます。これがいまのところ、アプリケーションのJavaScriptファイルの推奨保存先になります。
現状、ASP.NET MVCベータはASP.NET AJAXおよびjQueryライブラリの両方を、このフォルダに追加します(図8)。
図8 |
jQueryファイルは標準のjQueryライブラリで、MITソース・ライセンスで許可されています(詳細は以前のjQueryとMicrosoftの投稿をお読みください)。
VS 2008またはVisual Web Developer 2008 ExpressをSP1に更新すると、上記のjQueryファイルを使用する際の基本的なJavaScriptのIntelliSenseが表示されます。数週間後にはjQueryのIntelliSenseアノテーション・ファイルを出荷する予定で、それにより、より良くかつ複雑なjQueryのIntelliSenseサポート(複数の連鎖したセレクタやコマンドを使用する際のIntelliSense表示機能も含む)が提供されるようになります。これは次回のASP.NET MVCの更新にビルトインで含まれます。
INDEX | ||
〜ScottGu氏のブログより〜 | ||
ASP.NET MVCベータ版がリリース | ||
1.VSの新しい“ビューの追加”メニュー/新しい\ScriptsディレクトリとjQueryサポート | ||
2.フォーム送信とモデル・バインダの改善 | ||
3.HTMLヘルパ/Silverlightプロジェクトの統合/ASP.NET MVC Futuresアセンブリ | ||
「〜ScottGu氏のブログより〜」 |
- 第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用のアドイン。プレゼンテーション時の字幕の付加や、多言語での質疑応答、スライドの翻訳を行える
|
|