Istnieje 6 overloads tego pomocnika:
@Html.EditorForModel()
Renderuje ~/Views/Shared/EditorTemplates/TypeName.cshtml
szablon gdzie TypeName
jest dokładna nazwa typ swojego widoku modelu. Jeśli twój model widoku jest kolekcją (tj. IEnumerable<TypeName>
, IList<TypeName>
, TypeName[]
, ...) ASP.NET MVC automatycznie wyrenderuje odpowiedni szablon edytora dla każdego elementu kolekcji. Nie musisz pisać żadnych pętli w swoich widokach, aby tak się stało. Jest obsługiwany przez framework dla ciebie.
@Html.EditorForModel("templatename")
Renders ~/Views/Shared/EditorTemplates/templatename.cshtml
zamiast opierania się na konwencji
@Html.EditorForModel(new { Foo = "bar" })
renderuje szablon domyślny edytor ale przekazuje dodatkowe dane widoku do niego, że można używać wewnątrz ViewData["foo"]
lub ViewBag.Foo
@Html.EditorForModel("templatename", new { Foo = "bar" })
Renders ~/Views/Shared/EditorTemplates/templatename.cshtml
zamiast opierania się na konwencji i przekazuje dodatkowe dane widoku do niego, że można używać wewnątrz ViewData["foo"]
lub ViewBag.Foo
@Html.EditorForModel("templatename", "fieldprefix")
Renders ~/Views/Shared/EditorTemplates/templatename.cshtml
zamiast opierania się na konwencji i modyfikuje kontekst nawigacyjny w tym szablonie, co oznacza, że na przykład, jeśli masz wywołanie @Html.TextBoxFor(x => x.FooBar)
wewnątrz tego szablonu, otrzymasz name="fieldprefix.FooBar"
zamiast name="FooBar"
@Html.EditorForModel("templatename", "fieldprefix", new { Foo = "bar" })
Renders ~/Views/Shared/EditorTemplates/templatename.cshtml
zamiast opierania się na konwencji i modyfikuje kontekst nawigacji wewnątrz tego szablonu, co oznacza, że na przykład jeśli miał @Html.TextBoxFor(x => x.FooBar)
połączenia wewnątrz tego szablonu można dostać name="fieldprefix.FooBar"
zamiast name="FooBar"
.przechodzi ona również dodatkowe dane widoku do niego, że można używać wewnątrz ViewData["foo"]
lub ViewBag.Foo
uwaga: System szablonów najpierw szukać szablonów w ~/Views/XXX/EditorTemplates
gdzie XXX to nazwa kontrolera, który służył ten pogląd i jeśli nie znajdzie, to będzie wyglądać ~/Views/Shared/EditorTemplates
. To może pozwolić na dokładniejsze dostosowanie szablonów. Możesz mieć domyślne szablony w folderze współdzielonym, które mogą być przesłonięte na podstawie kontrolera.