「ASP.NET MVC 3」の版間の差分
imported>Administrator (ページの作成:「'''ASP.NET MVC 3'''とは、ASP.NET MVCの第三弾。 MonoによるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが...」) |
imported>Fallout New Tokyo |
||
(他の1人の利用者による、間の4版が非表示) | |||
1行目: | 1行目: | ||
− | '''ASP.NET MVC 3'''とは、[[ASP.NET MVC]] | + | '''ASP.NET MVC 3'''とは、[[ASP.NET MVC]]の第三弾である。 |
− | [[Mono]]によるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが、Windows上で作り、関連アセンブリ(DLL)ごと持って来ればほぼ動く。 | + | <del>[[Mono]]によるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが、Windows上で作り、関連アセンブリ(DLL)ごと持って来ればほぼ動く。</del> |
− | + | 現在では[[Xamarin Studio]]および[[Mono]]でも開発および利用できるようになっている。 | |
− | |||
− | |||
− | |||
− | |||
− | |||
== インストール == | == インストール == | ||
14行目: | 9行目: | ||
* http://www.asp.net/mvc/mvc3 | * http://www.asp.net/mvc/mvc3 | ||
=== Mono === | === Mono === | ||
+ | {{stub}} | ||
+ | |||
+ | == 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公式サイトでは以下のファイルをコピーすればよいとなっている<ref>http://www.mono-project.com/Release_Notes_Mono_2.10#ASP.NET_MVC3_Support</ref>。 | ||
+ | * System.Web.Mvc.dll | ||
+ | * System.Web.Razor.dll | ||
+ | * System.Web.WebPages.Deployment.dll | ||
+ | * System.Web.WebPages.dll | ||
+ | |||
+ | 一方、Usa*Usa日記さんによる記録では若干項目が多い<ref>http://d.hatena.ne.jp/machi_pon/20110503/1304411747</ref>。同じ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 | ||
+ | |||
+ | == 主な変更点 == | ||
+ | {{stub}} | ||
+ | |||
+ | === ビュー === | ||
+ | |||
+ | ==== ビューエンジン ==== | ||
+ | ビューを作る際にサードパーティー製を含む複数のビューエンジンが容易に選択可能となり、[[Spark]]、[[NHaml]]、[[NDjango]]なども手軽に扱えるようになった。 | ||
+ | |||
+ | また純正ビューエンジンんとして[[Razor]]エンジンが搭載された。 | ||
+ | |||
+ | === コントローラー === | ||
+ | ==== グローバルフィルター ==== | ||
+ | グローバルフィルターという機能が搭載され、すべてのアクションに一括でフィルターをかけれるようになった。 | ||
+ | Visual Studio 2010でASP.NET MVC 3プロジェクトを新規作成するとルーティング設定などを記述するお馴染みのGlobal.asaxに下記のようなメソッドが追加されている。 | ||
+ | <source lang="csharp"> | ||
+ | public static void RegisterGlobalFilters(GlobalFilterCollection filters) | ||
+ | { | ||
+ | filters.Add(new HandleErrorAttribute()); | ||
+ | } | ||
+ | </source> | ||
+ | 見ての通りfiltersにAddしてやればよい。 | ||
+ | |||
+ | ==== ViewModelプロパティ ==== | ||
+ | 従来のViewDataプロパティに加え、dynamic型のViewModelプロパティが追加された。 | ||
+ | string型だったのがdynamic型になったからと言って特に大きな変化ではないが、ソースコードの見通しが良くなった。 | ||
+ | なお、従来のViewDataプロパティも引き続き使える。 | ||
+ | |||
+ | ==== ActionResultの追加 ==== | ||
+ | [[ActionResultクラス]]を継承した便利クラスが追加された。 | ||
+ | * [[HttpNotFoundResult]] | ||
+ | * [[HttpRedirectResult]] | ||
+ | * [[HttpStatusCodeResult]] | ||
+ | |||
+ | === その他 === | ||
{{stub}} | {{stub}} | ||
== 関連項目 == | == 関連項目 == | ||
* [[ASP.NET MVC]] | * [[ASP.NET MVC]] | ||
+ | * [[WebMatrix]] | ||
== 参考文献 == | == 参考文献 == |
2014年3月6日 (木) 06:08時点における最新版
ASP.NET MVC 3とは、ASP.NET MVCの第三弾である。
MonoによるASP.NET MVC 3の動作は2012年3月時点では公式サポートされていないが、Windows上で作り、関連アセンブリ(DLL)ごと持って来ればほぼ動く。
現在ではXamarin StudioおよびMonoでも開発および利用できるようになっている。
目次
インストール[編集 | ソースを編集]
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
主な変更点[編集 | ソースを編集]
ビュー[編集 | ソースを編集]
ビューエンジン[編集 | ソースを編集]
ビューを作る際にサードパーティー製を含む複数のビューエンジンが容易に選択可能となり、Spark、NHaml、NDjangoなども手軽に扱えるようになった。
また純正ビューエンジンんとして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クラスを継承した便利クラスが追加された。
その他[編集 | ソースを編集]