2012-04-21 11 views

Odpowiedz

9

EditorFor ma tę zaletę, że będzie próbował renderować edytor powiązany z typem danych.

Na przykład: Jeśli zaprojektować własną Editor Templates będą automatycznie wygenerowana w oparciu o typ w tym miejscu zakwaterowania lub UIHint

Przydatny szablon edytor może być taki, który generuje wyboru daty, kiedy typ tego m.in. jest DateTime.

Istnieje kilka innych scenariuszy, jak również gdzie inteligentne EditorFor wygeneruje „najlepsze” edytor właściwości tego przykładem jest, gdy renderuje <textarea> podczas tagowania nieruchomość z MultilineText

Korzystanie TextBoxFor i PasswordFor są idealne dla tych przypadków, w których nie potrzebujesz "specjalnego edytora". Może nawet uprościć twoje życie, gdy trzeba ustawić HtmlAttributes.

+0

Chciałbym podziękować za obie odpowiedzi. To oczyściło całą sprawę. Przyjąłem tę odpowiedź ze względu na 2 linki, które zostały wskazane, świetne informacje. –

6

Ref Differences between Html.TextboxFor and Html.EditorFor in MVC and Razor dla jasnego wątpliwości na ten temat ..

HtmlTextboxFor zawsze tworzy textbox (<input type="text" ...).

Choć EditorFor patrzy na rodzaj i meta informacji, a może czyni kolejną kontrolę lub szablon dostarczasz.

Na przykład we właściwościach DateTime można utworzyć szablon, w którym korzysta z jQuery DatePicker.

jeśli zdecydujesz się zmienić coś na aspekt to jak pola tekstowe są renderowane jak owijanie ich w div można po prostu napisać szablon niestandardowy edytora (~/Views/Shared/EditorTemplates/string.cshtml) i wszystkie pola tekstowe w aplikacji będzie automatycznie korzystać z tej zmiany, natomiast jeśli masz zakodowany na stałe Html.TextBoxFor, będziesz musiał go modyfikować wszędzie.