Aracılığıyla paylaş


ASP.NET MVC 5.1 Sürümündeki Yenilikler

Microsoft tarafından

Bu konuda ASP.NET Web MVC 5.1'e yönelik yenilikler açıklanmaktadır.

Yazılım Gereksinimleri

İndir

Çalışma zamanı özellikleri NuGet galerisinde NuGet paketleri olarak yayınlanmaktadır. Tüm çalışma zamanı paketleri AnlamSal Sürüm oluşturma belirtimini izler. En son ASP.NET MVC 5.1 RTM paketi şu sürüme sahiptir: "5.1.2". NuGet aracılığıyla bu paketleri yükleyebilir veya güncelleştirebilirsiniz. Sürüm, NuGet'te karşılık gelen yerelleştirilmiş paketleri de içerir.

NuGet Paket Yöneticisi Konsolu'nu kullanarak yayımlanan NuGet paketlerini yükleyebilir veya güncelleştirebilirsiniz:

Install-Package Microsoft.AspNet.Mvc -Version 5.1.2

Belgeler

ASP.NET MVC 5.1 RTM ile ilgili öğreticiler ve diğer bilgiler ASP.NET web sitesinden ( https://www.asp.net) edinilebilir.

ASP.NET MVC 5.1'deki Yeni Özellikler

Öznitelik yönlendirme geliştirmeleri

Öznitelik yönlendirmesi artık kısıtlamaları destekleyerek sürüm oluşturma ve üst bilgi tabanlı yol seçimini etkinleştirmektedir. Öznitelik yollarının birçok yönü artık arabirim ve RouteFactoryAttribute sınıf aracılığıyla IDirectRouteFactory özelleştirilebilir. Yol ön eki artık arabirim ve RoutePrefixAttribute sınıf aracılığıyla IRoutePrefix genişletilebilir.

Görünümlerde sabit listesi desteği

  1. Yeni @Html.EnumDropDownListFor() yardımcı yöntemler. Bunlar, ifadenin bir sabit listesi türüne veya null atanabilir<T>T türüne değerlendirmesi gerektiği uyarısıyla HTML yardımcılarının çoğu gibi kullanılmalıdır. Bu gereksinimleri denetlemek için kullanın EnumHelper.IsValidForEnumHelper() .
  2. Bir döndüren IList<SelectListItem>yeni EnumHelper.GetSelectList() yöntemler. Bu, aramadan önce seçme listesini işlemeniz gerektiğinde (örneğin, @Html.DropDownListFor()) veya gösterilen adları @Html.EnumDropDownListFor() görüntülemek istediğinizde kullanışlıdır.

Aşağıdaki kod bu API'leri gösterir.

@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)) { … }
}

Burada tam bir örnek görebilirsiniz.

Düzenleyici şablonları için Bootstrap desteği

Artık EditorFor'da HTML özniteliklerinin anonim bir nesne olarak geçirilmesine izin veririz.

Örneğin:

@Html.EditorFor(model => model, new { htmlAttributes = new { @class = "form-control" }, })

MinLengthAttribute ve MaxLengthAttribute için engelleyici olmayan doğrulama

Dize ve dizi türleri için istemci tarafı doğrulaması artık MinLength ve MaxLength öznitelikleriyle süslenmiş özellikler için desteklenecektir.

Unobtrusive Ajax'ta 'this' bağlamını destekleme

Geri çağırma işlevleri (OnBegin, OnComplete, OnFailure, OnSuccess) artık bağlam aracılığıyla this çağırma öğesini bulabilir. Örneğin:

@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>

Bilinen Sorunlar ve Hataya Neden Olan Değişiklikler

Öznitelik Yönlendirme

Öznitelik yönlendirme eşleşmelerindeki belirsizlikler artık ilk eşleşmeyi seçmek yerine bir hata bildirecektir.

Öznitelik yollarının parametresini ve eylemlere {controller} yerleştirilen yollarda parametresini {action} kullanması yasaktır. Bu parametrelerin kullanımı büyük olasılıkla belirsizliklere yol açabilir.

MVC/Web API'sini 5.1 paketli bir projeye iskeleye almak, projede henüz mevcut olmayanlar için 5.0 paketle sonuçlanmıştır

ASP.NET MVC 5.1 RTM için NuGet paketlerinin güncelleştirilmesi, ASP.NET yapı iskelesi veya ASP.NET Web Uygulaması proje şablonu gibi Visual Studio araçlarını güncelleştirmez. ASP.NET çalışma zamanı paketlerinin (5.0.0.0) önceki sürümünü kullanırlar. Sonuç olarak, ASP.NET yapı iskelesi, projelerinizde mevcut değilse gerekli paketlerin önceki sürümünü (5.0.0.0) yükler. Ancak, Visual Studio 2013 RTM veya Güncelleştirme 1'deki ASP.NET yapı iskelesi, projelerinizdeki en son paketlerin üzerine yazılmaz. Projelerinizin paketlerini Web API 2.1 veya ASP.NET MVC 5.1'e güncelleştirdikten sonra ASP.NET yapı iskelesi kullanıyorsanız, Web API'sinin ve ASP.NET MVC sürümlerinin tutarlı olduğundan emin olun.

Visual Studio 2013'da Razor Görünümleri için Söz Dizimi Vurgulama

Visual Studio 2013 güncelleştirmeden ASP.NET MVC 5.1 RTM'ye güncelleştirirseniz, Razor görünümlerini düzenlerken söz dizimi vurgulama için Visual Studio düzenleyicisi desteği alamazsınız. Bu desteği almak için Visual Studio 2013 güncelleştirmeniz gerekir.

Tür Yeniden Adlandırmaları

Öznitelik yönlendirme genişletilebilirliği için kullanılan türlerden bazıları 5.1 RTM'de yeniden adlandırılır.

Eski Tür Adı (5.1 RC) Yeni Tür Adı (5.1 RTM)
IDirectRouteProvider IDirectRouteFactory
RouteProviderAttribute RouteFactoryAttribute
DirectRouteProviderContext DirectRouteFactoryContext