ASP.NET MVC 3

提供: MonoBook
2012年3月27日 (火) 08:58時点におけるimported>Administratorによる版
ナビゲーションに移動 検索に移動

ASP.NET MVC 3とは、ASP.NET MVCの第三弾。

MonoによるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが、Windows上で作り、関連アセンブリ(DLL)ごと持って来ればほぼ動く。

インストール

Windows

ASP.NET MVC 3をVisual Studio 2010などで利用するには下記からダウンロードしてインストールする必要がある。

Mono


Monoでの動かし方

2012年3月27日時点、CentOS6での記録です。

事前にmod_monoの設定が完了していることが前提条件となる。 mod_monoの設定については「mod_mono#ASP.NET MVCを使うための設定」を参照。

ASP.NET MVC 3を使うにあたって、まだMonoでは提供されていないアセンブリ(DLL)があるので、binディレクトリにコピーしておく必要がある。

Visual Studio 2010を使っている場合は参照設定の各項目をクリックしてプロパティを表示すると「ローカルコピー」という項目があるので「True」に設定しておく。参照設定の一覧にないアセンブリについては「参照の追加」より追加してローカルコピー設定を行う。

Mono公式サイトでは以下のファイルをコピーすればよいとなっている[1]

  • System.Web.Mvc.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll

一方、Usa*Usa日記さんによる記録では若干項目が多い[2]。同じCentOS6ということで今回はこちらを採用したので公式設定は試していない。

  • System.Web.Helpers.dll
  • System.Web.Mvc.dll
  • System.Web.Razor.dll
  • System.Web.WebPages.Deployment.dll
  • System.Web.WebPages.dll
  • System.Web.WebPages.Razor.dll

主な変更点


ビュー

ビューエンジン

ビューを作る際にサードパーティー製を含む複数のビューエンジンが容易に選択可能となり、SparkNHamlNDjangoなども手軽に扱えるようになった。

また純正ビューエンジンんとしてRazorエンジンが搭載された。

コントローラー

グローバルフィルター

グローバルフィルターという機能が搭載され、すべてのアクションに一括でフィルターをかけれるようになった。 Visual Studio 2010でASP.NET MVC 3プロジェクトを新規作成するとルーティング設定などを記述するお馴染みのGlobal.asaxに下記のようなメソッドが追加されている。

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
    filters.Add(new HandleErrorAttribute());
}

見ての通りfiltersにAddしてやればよい。

ViewModelプロパティ

従来のViewDataプロパティに加え、dynamic型のViewModelプロパティが追加された。 string型だったのがdynamic型になったからと言って特に大きな変化ではないが、ソースコードの見通しが良くなった。 なお、従来のViewDataプロパティも引き続き使える。

ActionResultの追加

ActionResultクラスを継承した便利クラスが追加された。

その他


関連項目

参考文献

外部リンク