Home > ASP.NET, MVC, Razor > ASP.NET MVC EditorFor

ASP.NET MVC EditorFor

Dawno temu, Piotr Zieliński na swoim blogu przedstawiał helper’a EditorFor i po podstawy i przykłady odsyłam do niego. Przypomnę jedynie, że ten sprytny mechanizm pozwala nam na wywołanie odpowiedniego szablonu edycji dla wybranego przez nas typu danych. To czego można się spodziewać, to że jeśli wywołamy go poprzez :

@Html.EditorFor(Movie => Model)

to na naszej stronie ujrzymy szablon który stworzyliśmy w /Views/Shared/EditorTemplates/Movie.cshtml ( wygenerowany dla typu Movie z danymi z obiektu Model ). To czego ja osobiście się nie spodziewałem, to fakt, że nie jesteśmy ograniczeni do typów z naszej przestrzeni Modeli ( jak sugeruje kreator View’sów ). Możemy na przykład stworzyć template dla wszystkich pól typu DateTime. Aby to zrobić, wystarczy dodać PartialView do katalogu Szablonów Edycji ( jak dostojnie to brzmi w języku polskim ) – /Views/Shared/EditorTemplates/DateTime.cshtml o zawartości :

@model DateTime
<h2>Editor for DateTime</h2>
<!-- tutaj Twój textbox z podpiętym jquery DatePicker'em -->

Dzięki temu, na każdym formularzu edycji gdzie jedym z elementów będzie obiekt typu DateTime, domyślny textbox zostanie zastąpiony Twoim bajeranckim szablonem.
Czyli, zakładając, że jakieś 80% pól na formularzach to String,Date oraz Int (przynajmniej tak wynika z mojego doświadczenia ) to tworząc 3 szablony mamy obsłużoną niemal całą “edycję”. Fajnie, co ? 🙂

Categories: ASP.NET, MVC, Razor
  1. No comments yet.
  1. No trackbacks yet.

Leave a comment