Ich habe einen Account-Controller, und ich möchte, wenn ich einen falschen Benutzernamen / Passwort auf Modal Bootstrap eingegeben hat Es wird eine Meldung "Ungültiger Login-Versuch." von ActionResult Login () zu modal.
meine _loginPartialView:
%Vor%%Vor%
mein Controller:
%Vor%Ich habe einen Kommentar dazu hinzugefügt, aber es könnte als Ihre Lösung helfen. Es klingt wie ungültige Eingaben bei der Formularübergabe zu einer Weiterleitung mit dem modalen Inhalt auf einer leeren Seite führt? Da das Modal eine Teilansicht ist, versuchen Sie, Ihre Skripts an den Anfang der _loginPartialView zu verschieben. Dasselbe gilt für alle Bundles, die Sie auf der Layoutseite verwenden.
%Vor%Erstens, da Sie @Ajax-Helfer verwenden, sollten Sie Microsoft jQuery Unobtrusive Ajax installieren und darauf verweisen (Sie finden hier einen älteren, aber dennoch relevanten Leitfaden: Ссылка ).
Zweitens sollten Sie die clientseitige Validierung aktivieren (siehe in der Anleitung)
Drittens müssen Sie als UpdateTargetId ein vorhandenes DOM-Element angeben, das aktualisiert werden soll (ich sehe nicht das "loginModal" im Codebeispiel). Ich glaube, dass diese ID innerhalb des modalen HTML-Codes sein sollte, andernfalls wird es das modale HTML neu erstellen und seinen Status zurücksetzen. (Ich würde die modale Definition in der übergeordneten Ansicht verschieben und die partielle nur mit der Formulardefinition lassen).
Allgemein:
ModelState.AddModelError("", "Invalid login attempt.");
(Sie können natürlich jede beliebige Wortwahl wie 'Erfolg' oder was auch immer verwenden.)
Ihr Rasierer könnte etwa so aussehen:
%Vor%Ihr Controller könnte ein benutzerdefiniertes Viewmodel wie:
zurückgeben %Vor%Ihr Controller würde die Anmeldung wie gewohnt überprüfen, aber dann
zurückgeben %Vor%Tags und Links asp.net-mvc javascript jquery ajax twitter-bootstrap