2009-03-11 5 views
13

Mam kilka prostych pytań dotyczących rozwoju mvc asp.net.UpdateModel vs TryUpdateModel

Jakie zastosowanie mają UpdateModel i TryUpdateModel? i który warunek ma zastosowanie do korzystania z UpdateModel lub TryUpdateModel. Z mojego doświadczenia TryUpdateModel obok wiązania FormCollection do modelu również sprawdzania poprawności danych. Czy to jest poprawne ?

Odpowiedz

19

Masz rację, obie metody są używane do aktualizowania modelu za pomocą wartości Form i wykonywania sprawdzeń. Istnieje domyślny segregator, ale w razie potrzeby możesz utworzyć niestandardowe.

Różnica między tymi dwiema metodami polega na tym, że UpdateModel rzuci wyjątek, jeśli sprawdzanie poprawności nie powiedzie się, a TryUpdateModel poinformuje o wyniku sprawdzania poprawności w postaci wartości logicznej.

+0

Czy TryUpdateModel i UpdateModel zawsze używają DefaultModelBinder zamiast CustomModelBinder? – Funky81

+0

Wierzę, że jeśli używasz CustomModelBinders, nie ma rzeczywistej potrzeby bezpośredniego skalowania metod UpdateModel, ponieważ są one wykonywane w tle, gdy formularz jest powiązany z parametrem Twojej metody Action. – antonioh

0

Główną różnicą UpdateModel() będzie zgłasza wyjątek, jeśli sprawdzanie poprawności nie powiedzie się jednak w TryUpdatemodel() nigdy nie zgłasza wyjątek, gdy walidacja nie powiedzie

Podobieństwo Oba są wykorzystywane do aktualizacji modelu z wartościami formularza i przeprowadzić walidację

Powiązane problemy