Rendern einer Ansicht nach einem AJAX-call in asp.net MVC

Ich versuche zu laden, eine Ansicht, nachdem ein ajax-call. Nach dem ajax Aufruf meine action Methode zurück view die geladen werden sollen, nachdem der Anruf Erfolg.

AJAX ich bin mit

Funktion PostMethods(url, fname, lname, E-Mail) {

var userRegisterViewModel = {
    FirstName: fname,
    LastName: lname,
    Email: email
};
$.ajax({
    type: 'Post',
    dataType: "json",
    url: url,
    contentType: 'application/json',
    data: JSON.stringify(userRegisterViewModel),

//Success-und error-code

});}

Mein ajax-Aufruf einer api-Methode, wo ich bin vorbei fname, lname und email. Jetzt ist meine api-Methode erfolgreich werden die Daten in die Datenbank wird es wieder ein View wenn nicht zum speichern von Daten es gibt eine Fehlermeldung zurück, das ich zeigen kann, um Benutzer in der aktuellen Ansicht. In der HTML-Datei der aktuellen Ansicht eine leere <spam> zeigen die Fehlermeldung.

Meine Action Methode ist:

    public ActionResult RegisterAndLogin(UserRegisterViewModel model)
    {
        ActionResult returnNextPage = null;
        bool successToStoreData = SomeMethod(model);
        if (successToStoreData)
        {
            returnNextPage = RedirectToAction(string.Empty, "Home");
        }
        else
        {
            //Text message to show to the user
        }
        return returnNextPage;
    }

Welchen code ich schreiben soll zu diesem Zweck in AXAJ-und action-Methode

  • AJAX-Aufrufe bleiben Sie auf der gleichen Seite, so RedirectToAction funktioniert nicht. Willst du zum Rendern der anzeigen auf derselben Seite oder möchten Sie umleiten zu einer anderen Seite, wenn keine Fehler vorhanden sind?
  • Ich möchte einen redirect zu einer anderen Seite. Aber, wenn, und nur wenn die Daten speichert erfolgreich.
  • Dann, warum nicht verwenden Sie ein standard-Formular mit submit-was können Sie tun, eine Umleitung? Wenn die Daten nicht korrekt gesichert, dann einfach nur wieder den Blick und zeigt keine Fehler bei der Validierung.
  • Ich wollte das, aber mein html ist nicht sehr zuverlässig für, die. Beispiel: In meinem Log-in-Seite hat eine Schaltfläche aufrufen, registrieren Sie sich jetzt, anklicken dieser ein div sichtbar werden und decken alle Bereich Seite. Wenn ich die Seite neu laden sehe ich nur den button "registrieren" nicht die div
  • Gut, dass ein separates Problem und vielleicht solltest du die post eine eigene Frage zu helfen, es zu lösen, aber ich poste eine Antwort für diese ein, obwohl ich gar nicht glauben, dass es der richtige Ansatz
  • ja, Bitte, ich werde es versuchen
  • Rückgabe-url als string und eine Umleitung via javascript auf diese url

InformationsquelleAutor Riki | 2014-09-23
Schreibe einen Kommentar