ASP.NET MVC 5.1 と ASP.NET Web API 2.1 の内容
ASP.NET MVC 5.1、ASP.NET Web API 2.1、ASP.NET Web Pages 3.1 がリリースされたので、内容を調べてみました。
この記事には、ASP.NET MVC 5.1 の内容を記載しています。
ASP.NET Web API 2.1 の方は長くなったので別記事にしました:
参考サイト
ASP.NET MVC 5.1 の概要
What's New in ASP.NET MVC 5.1 : The Official Microsoft ASP.NET Site
- 属性ベースルーティングの改善
- ASP.NET Web API 2.1 に同じ更新があるのでそちらに記載。
- Html.EditorFor で Bootstrap 対応
- Html ヘルパーにて Enum の対応
- 控えめな JavaScript で [MinLength], [MaxLength] に対応
- 控えめな Ajax で this に対応
- バグ修正
Html.EditorFor で Bootstrap 対応
Bootstrap 対応とありますが、@Html.EditorFor() で HTML 属性を追加できるようになったみたいです。
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control", myattri = "aaa" }})
出力されるタグ(input タグの場合):
<input name="Name" class="form-control text-box single-line" myattri="aaa" …>
EditorTemplates や DisplayTemplates を自前で作っている場合は、ViewData["htmlAttributes"] で参照できます。
//EditorTemplates や DisplayTemplates 内の テンプレートにて: @Html.TextBoxFor(m => m, ViewData["htmlAttributes"])
(この参照自体は前からできるので、今回の更新は予め用意されているテンプレートが htmlAttributes の出力に対応しただけ?の予感)
Html ヘルパーにて Enum の対応
Enum から DropDownList を生成するヘルパー:@Html.EnumDropDownListFor() が追加されました。Enum から IEnumerable
参照:
控えめな JavaScript で [MinLength], [MaxLength] に対応
MVC のクライアント検証で、[MinLength] 属性と [MaxLength] 属性が対応しました。[StringLength] 属性は前から対応済みです。
控えめな Ajax で this に対応
未調査。リリースノートにサンプルコードがあります。
Supporting the ‘this’ context in Unobtrusive Ajax
雑感
今回のリリースで感じたことを。
- ASP.NET で初めてのマイナーバージョンのリリース
- 前回のリリースは 2013/11 でした。NuGet パッケージによる短期リリースが実現されています。
- Web Pages と Web Forms の更新が少ない or 無い
- バグ修正が多い
- 特に ASP.NET Web API のバグ修正が結構あります。バグに遭遇した場合、修正が行われている可能性があります。
- 日本人初の Contributor、Shiba-yan!のコミットが含まれています。 https://aspnetwebstack.codeplex.com/wikipage?title=Contributors
- サンプルが豊富
- ほとんどの機能に対し、サンプルが用意されています。Sample