2013-02-26 13 views

Odpowiedz

26

Istnieje 6 overloads tego pomocnika:

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

  2. @Html.EditorForModel("templatename")

    Renders ~/Views/Shared/EditorTemplates/templatename.cshtml zamiast opierania się na konwencji

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

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

  5. @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"

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

Powiązane problemy