Podczas korzystania z edytora EditorTemplate, jeśli chcę, aby wartość wyświetlana na modelu była wyświetlana na ekranie, a także aby została przesłana z powrotem do kontrolera, jakiego pomocnika powinienem użyć?ASP.Net MVC Odświeżenie wartości etykiety do kontrolera
tj. jeśli mogę użyć TextBoxFor:
@Html.TextBoxFor(model => model.RoomTypeName)
... następnie użytkownik może zmienić tekst ...
wolałbym po prostu pokazać tekst, ale jeśli mogę użyć:
@Html.DisplayTextFor(model => model.RoomTypeName)
. .. then to nie jest wysyłane z powrotem do kontrolera.
więc to jedyny sposób mogę wyświetlić tekst, a także do zapewnienia mój stan model jest ważne, aby dodać drugi ukryte pole, np
@Html.DisplayTextFor(model => model.RoomTypeName)
@Html.HiddenFor(model => model.RoomTypeName)
wiem, że działa, ale jestem zastanawiasz się, czy istnieje bardziej elegancki sposób robienia tego - czy mogę wyświetlić wartość i odesłać ją z powrotem, bez potrzeby replikowania jej również jako ukrytego elementu?
Dziękuję
Mark
Używanie 'HiddenFor' jest już całkiem eleganckie i standardowe dla tych rzeczy. – sed
ok, dziękuję Steve - Myślałem, że MVC/C# może mieć "jednego pomocnika, który pasuje do wszystkich" - ale jeśli to jest odpowiedź, to proszę, opublikuj to, a ja oznaczyę to jako takie. Pozdrawiam, Mark – Mark
Wygląda na to, że warto ponownie rozważyć logikę interfejsu użytkownika. Zamieszczanie "wszystkiego" (etykiet dołączonych) z powrotem na serwer WWW jest bardzo podobne do WebForms. W MVC całkiem normalnym rozwiązaniem jest odpisywanie tylko tego, co jest konieczne i proste pobieranie potrzebnych wartości z bazy danych/pamięci podręcznej. Znowu, nie ma mowy o twojej pełnej sytuacji i może istnieć ważny powód do wdrożenia tego rodzaju logiki. –