Po dodaniu przez MVC 2 edytora HtmlHelper EditorFor() nie jest możliwe tworzenie silnie typowanych szablonów wyświetlania i edytowania dla danego obiektu modelu i po nim manipulowanie. Jestem nieco zaskoczony, jak przekazać dodatkowe dane modelu do edytora, nie tracąc przy tym silnego pisania kontrolki edytora.ASP.NET MVC 2 - HTML.EditorFor() i Custom EditorTemplates
Klasyczny Przykład: produkt ma kategorię. ProductEditor ma DropDownList dla kategorii zawierający nazwy wszystkich kategorii. ProductEditor jest ściśle wpisany w Product i musimy przekazać SelectList of Categories oraz Product.
W standardowym widoku zawijamy dane modelu do nowego typu i przekazujemy je dalej. Z EditorTemplate tracimy niektóre standardowe funkcje, jeśli przekazujemy mieszany model zawierający więcej niż jeden obiekt (najpierw zauważyłem, że wszystkie metody LabelFor/TextBoxFor wytwarzały nazwy jednostek, takie jak "Model.Object", a nie tylko "Object" ").
Czy robię to źle, czy Html.EditorFor() powinien mieć dodatkowy parametr ViewDataDictionary/Model?
Oczywiście ma to sens, ale nie mogłem nie zauważyć, że umieszczenie modelu w zwyczaju ViewModel powoduje nazwy pól formularza być poprzedzony nazwą właściwości obiektu w zwyczaju ViewModel. Nie oznacza to, że jest to problem, ale dodaje kolejny krok do aktualizacji modelu. Prawdopodobnie płaczę niepotrzebnie, co? –