public IActionResult OnPost() {
if (ModelState.IsValid) {
\\ save it
}
return Page();
}
In meinem Rasierklingencode habe ich die obige Prüfung, ob das Modell gültig ist. Das funktioniert gut, wenn das Modell gültig ist, speichert es, wenn nicht, geht es zu return Page();
, was die gesamte Dokumentation, die ich finden kann, sagt.ASP.Net Razorseitenvalidierung gibt keine Werte zurück
Das Problem ist, dass, wenn das Modell ungültig ist, die return Page();
die Seite neu lädt, so dass ich alle eingegebenen Werte verloren habe und keine der Validierungsnachrichten aus dem Modell geladen wurden.
Was sollte ich anstelle von return Page();
verwenden, um die Validierungsnachrichten anzuzeigen und die ungültigen Informationen zu behalten?
------------------- Bearbeiten mit Ansichtsmodell
Also mit diesem als meine OnPost
[BindProperty]
public theVM.ModelinVM theVMInstance { get; set; }
public IActionResult OnPost() {
if (ModelState.IsValid) {
\\ save it
}
return theVMInstance;
}
und dies ist der Ansicht Modell
public class theVM {
public IQueryable<originalModel> ModelinVM { get; set; }
}
return theVMInstance;
sagt jetzt Cannot implicitly convert type 'theVM.ModelinVM' to 'Microsoft.AspNetCore.Mvc.IActionResult'.
Es wird ein IActionResult
erwartet, also muss es damit nicht kompatibel sein?
Wenn ich versuche, bekomme ich 'Kann nicht implizit Typ' dbConnect.Models.theviewmodel 'in' Microsoft.AspNetCore.Mvc.IActionResult 'konvertieren. Eine explizite Konvertierung existiert (fehlt Ihnen ein Cast?) –
Ja, Sie können das db-Modell nicht verwenden, da seine Ansicht Modelle abbilden müssen –
Es erwartet ein 'IActionResult' also was auch immer ich übergebe, es sei denn es ist kompatibel, es funktioniert nicht gewonnen 't es ??? –