Novinky v ASP.NET MVC 5.1
od Microsoftu
Toto téma popisuje novinky ASP.NET Web MVC 5.1.
Požadavky na software
- Visual Studio 2012: Stáhněte si ASP.NET and Web Tools 2013.1 for Visual Studio 2012.
- Visual Studio 2013: Stáhněte Visual Studio 2013 Update 1. Tato aktualizace je nutná pro úpravy ASP.NET zobrazení Razor Views MVC 5.1.
Stáhnout
Funkce modulu runtime se vydávají jako balíčky NuGet v galerii NuGet. Všechny balíčky modulu runtime se řídí specifikací sémantické správy verzí . Nejnovější balíček ASP.NET MVC 5.1 RTM má následující verzi: 5.1.2. Tyto balíčky můžete nainstalovat nebo aktualizovat prostřednictvím nuGetu. Tato verze obsahuje také odpovídající lokalizované balíčky na NuGetu.
Vydané balíčky NuGet můžete nainstalovat nebo aktualizovat pomocí konzoly Správce balíčků NuGet:
Install-Package Microsoft.AspNet.Mvc -Version 5.1.2
Dokumentace
Kurzy a další informace o ASP.NET MVC 5.1 RTM jsou k dispozici na webu ASP.NET ( https://www.asp.net).
Nové funkce v ASP.NET MVC 5.1
Vylepšení směrování atributů
Směrování atributů teď podporuje omezení, která umožňují správu verzí a výběr trasy na základě hlaviček. Mnoho aspektů tras atributů je teď možné přizpůsobit prostřednictvím IDirectRouteFactory
rozhraní a RouteFactoryAttribute
třídy. Předpona trasy je nyní rozšiřitelná prostřednictvím IRoutePrefix
rozhraní a RoutePrefixAttribute
třídy .
Podpora výčtu v zobrazeních
- Nové
@Html.EnumDropDownListFor()
pomocné metody. Ty by se měly používat jako většina pomocných rutin HTML s upozorněním, že výraz musí být vyhodnocen jako typ výčtu nebo T> s možnou<hodnotou Null, kdeT
je typ výčtu. Pomocí příkazuEnumHelper.IsValidForEnumHelper()
zkontrolujte tyto požadavky. - Nové
EnumHelper.GetSelectList()
metody, které vrací .IList<SelectListItem>
To je užitečné, když potřebujete před voláním manipulovat se seznamem výběrů,@Html.DropDownListFor()
například , nebo když chcete zobrazit jména, která@Html.EnumDropDownListFor()
se zobrazují.
Následující kód ukazuje tato rozhraní API.
@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata))
{
@Html.EnumDropDownListFor(model => model, htmlAttributes: new { @class = "form-control" })
}
@if (EnumHelper.IsValidForEnumHelper(ViewData.ModelMetadata))
{
foreach (SelectListItem item in EnumHelper.GetSelectList(ViewData.ModelMetadata,
(Enum)Model)) { … }
}
Kompletní příklad najdete tady.
Podpora bootstrap pro šablony editoru
Nyní povolujeme předávání atributů HTML v EditorFor jako anonymní objekt.
Příklad:
@Html.EditorFor(model => model, new { htmlAttributes = new { @class = "form-control" }, })
Nenápadné ověřování minLengthAttribute a MaxLengthAttribute
Ověřování na straně klienta pro typy řetězců a polí bude nyní podporováno pro vlastnosti s atributy MinLength a MaxLength .
Podpora kontextu "this" v nenápadné ajax
Funkce zpětného volání (OnBegin, OnComplete, OnFailure, OnSuccess
) teď budou moct vyhledat prvek vyvolání prostřednictvím this
kontextu. Příklad:
@Ajax.ActionLink("Click me", "AjaxAction", new AjaxOptions { UpdateTargetId = "foo", OnBegin = "OnClick" })
<script>
function OnClick(jqXHR) {
if ($(this).hasClass("foo")) {
jqXHR.setRequestHeader("custom-header", "value");
}
}
</script>
Známé problémy a zásadní změny
Směrování atributů
Nejednoznačnosti v shodách směrování atributů teď místo výběru první shody hlásí chybu.
Trasy atributů mají zakázáno používat {controller}
parametr a parametr {action}
u tras umístěných v akcích. Použití těchto parametrů by velmi pravděpodobně vedlo k nejednoznačnostem.
Generováním uživatelského rozhraní MVC/webového rozhraní API do projektu s balíčky 5.1 vznikne balíček 5.0 pro balíčky, které v projektu ještě neexistují.
Aktualizace balíčků NuGet pro ASP.NET MVC 5.1 RTM neaktualizuje nástroje sady Visual Studio, jako je ASP.NET generování nebo šablona projektu ASP.NET Web Application. Používají předchozí verzi balíčků modulu runtime ASP.NET (5.0.0.0). V důsledku toho ASP.NET generování nainstaluje předchozí verzi (5.0.0.0) požadovaných balíčků, pokud ještě nejsou k dispozici ve vašich projektech. ASP.NET generování uživatelského rozhraní v Visual Studio 2013 RTM nebo Update 1 však nepřepíše nejnovější balíčky ve vašich projektech. Pokud používáte ASP.NET generování po aktualizaci balíčků projektů na webové rozhraní API 2.1 nebo ASP.NET MVC 5.1, ujistěte se, že jsou verze webového rozhraní API a ASP.NET MVC konzistentní.
Zvýraznění syntaxe pro zobrazení Razor v Visual Studio 2013
Pokud provedete aktualizaci na ASP.NET MVC 5.1 RTM bez aktualizace Visual Studio 2013, nebudete mít v editoru Visual Studio podporu zvýraznění syntaxe při úpravách zobrazení Razor. Abyste získali tuto podporu, budete muset aktualizovat Visual Studio 2013.
Přejmenování typů
Některé typy používané pro rozšiřitelnost směrování atributů jsou ve verzi 5.1 RTM přejmenovány.
Starý název typu (5.1 RC) | Nový název typu (5.1 RTM) |
---|---|
IDirectRouteProvider | IDirectRouteFactory |
Atribut RouteProviderAttribute | Atribut RouteFactoryAttribute |
DirectRouteProviderContext | DirectRouteFactoryContext |