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 Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: