Uczę się MVC, a w ASP.Net MVC 3, co to jest klasa ModelState? Rozglądałem się za Google i MSDN, ale wydaje mi się, że nie rozumiem w pełni tego celu. Czy ktoś może pomóc?Co to jest klasa ModelState w MVC 3?
Odpowiedz
Zobacz http://www.gxclarke.org/2010/05/consumption-of-data-in-mvc2-views.html w sekcji ViewData.ModelState
.
Właściwość ModelState jest obiektem słownika, który śledzi wartości HTTP przesłane do serwera. Oprócz przechowywania nazwy i wartości każdego pola, śledzone są również powiązane błędy sprawdzania poprawności. Chociaż jego nazwa może sugerować inaczej, ModelState nie jest modelowy. Nie rozumie, czym jest "produkt". Zawiera po prostu kolekcję przedmiotów o nazwach takich jak "ProductName" i "UnitPrice". Jest to odpowiedzialność innych obiektów-ModelBinders, ViewResult i silnie wpisany View-do map i zinterpretować wartości ModelState jako cechy modela
ModelState
klasy w MVC jest klasa, która zawiera kolekcję, która ma klucz oraz wartości danych przesłanych do serwera w metodzie Post. Gdy MVC znajdzie się na postu, pobiera wszystkie parametry z żądania postu i umieszcza je w instancji ModelStateDictionary
. Gdy tylko serwer ModelState
jest aktywny, właściwości modelu są sprawdzane zgodnie z atrybutami walidacji, które są z nimi powiązane. A jeśli którakolwiek z właściwości jest nieprawidłowa, zostanie dodana do listy błędów. Właściwość ModelState.IsValid
zostanie ustawiona na false
. Możesz później użyć tego kodu, aby sprawdzić, czy wszystko jest poprawne.
Więcej informacji można znaleźć pod odnośnikiem this.