Skąd ASP.NET MVC wie żeby wpisać dane ponownie

0

Zastanawiam się jak to się dzieje, że jak wpisze błędne dane to w inputach, które były poprawne pozostają wpisane wartości. Dajmy na to kod kontrolera:

[HttpPost]
        public ViewResult RsvpForm(GuestResponse guestResponse) {
            if (ModelState.IsValid) {
                // do zrobienia: wyślij zawartość guestResponse do organizatora przyjęcia
                return View("Thanks", guestResponse);
            } else {
                // wystąpił błąd podczas weryfikacji
                return View();
            }
        }
 

i mimo, że IsValid zwróci false i wywołam View do którego nie przekaże żadnego argumentu i podczas renderingu strony cshtml, debugger pokazuje mi że właściwość View.Model jest nullem to wpisane wartości nadal są w inputach. Jak to się dzieje?

0

Przykłądowo:
Jeśli w modelu masz jakieś adnotacje do pól, to są one wcześniej sprawdzane

        [Required]
        [StringLength(100, ErrorMessage = "Login powinien zawierać minimum {2} znaki", MinimumLength = 4)]
        public string Login { get; set; } 

1 użytkowników online, w tym zalogowanych: 0, gości: 1