Donnerstag, April 9, 2020

Umleitung zu einer anderen Ansicht, die mit ajax-Aufruf in mvc

Ich habe ein Anmeldeformular, das auf der erfolgreichen Anmeldung wird, leitet es Sie zu einer anderen Ansicht.
Ich verwende einen submit-button einfügen Daten auf die Datenbank, die ich löschen willst, die Werte in der aktuellen Ansicht und leiten den Benutzer auf logon page in einer anderen Ansicht, die unter dem gleichen controller.
Die reichen geben nicht die Durchführung der Maßnahmen erwähnt, die in jquery.Bitte helfen Sie mir

hier ist mein code-Vorschau

Account/register

Account/logon

 Accountcontroller.cs
      [HttpPost]
     public ActionResult Register(RegisterModel model, FormCollection form)
      {
           try {
                ---code
               }
           catch {
           }
      }

register.cshtml
     @using (Html.BeginForm("Register", "Account", FormMethod.Post, new { id = "accForm"      }))    
           {
             @html.textboxfor(.....)
             @html.textboxfor(.....)
             @html.textboxfor(.....)
             @html.textboxfor(.....)
                    ....
          <input type="submit" value="CreateAccount" class="buttonclass"               title="CreateAccount" ; onclick="SaveUser(this);" 

             }

    function SaveUser(btnClicked) {
           alert("clear");
           document.getElementById("regname").value = '';
           document.getElementById("regusername").value = '';
           document.getElementById("regemail").value = '';
           document.getElementById("regpassword").value = '';


           document.getElementById("regpassword2").value = '';

           $.ajax({
                   url: window.location.pathname + '/Account/Logon',

                   type: 'GET',
               })
               .success(function (result) {
                    alert("user saved successfully");
                     });

UPDATE:

   function SaveUser(btnClicked) {

       document.getElementById("regname").value = '';
       document.getElementById("regusername").value = '';
       document.getElementById("regemail").value = '';
       document.getElementById("regpassword").value = '';
       document.getElementById("regpassword2").value = '';
       alert('clear');
   $.ajax({


          type: "POST",
           url:  window.location.pathname + "Account/Register",

           success: function (response) {
               $.ajax({
                   url: window.location.pathname + '/Account/Logon',
                   type: 'GET',
               })
        .success(function (result) {
            alert("user saved successfully");

            //window.location ="";
        });
           },
           error: function (xhr, status, error) {
               alert("Failed");
           }
       });
}

Ich bin immer ein Fehlgeschlagen alert.
Bitte helfen Sie

  • Sind Sie immer Fehler
  • Ich bin nicht gettin Weiterleitung als submit-button nicht einfügen der Daten in die Datenbank. aber ich bin nicht immer weitergeleitet auf die Anmeldeseite nach dem einlegen der Benutzer
  • Ersetzen Sie einfach das “ url: Fenster.Lage.pathname + ‚/Account/Login‘ “ in “ url: ‚@Url.Aktion( „Registrieren“, „Account“)‘ „
  • Hallo bitte überprüfen Sie meine EDITS auf Ihren update-code
InformationsquelleAutor gs11111 | 2013-08-07

2 Kommentare

  1. 1

    Wenn Sie wollen Redirect-Seite auf Erfolgreichem login schreiben Sie dann die Umleitung code auf Erfolg (ajax Erfolg).
    Exp:

    $.ajax({
            url: window.location.pathname + '/Account/Logon',
            type: 'GET',
             })
             .success(function (result) {
                        alert("user saved successfully");
    
             //window.location ="";
              });
    • Ich bin gettin Fehlgeschlagen-Fehler, überprüfen Sie bitte die aktualisierte Frage
    • Ersetzen Sie einfach das “ url: Fenster.Lage.pathname + ‚/Account/Login‘ “ in “ url: ‚@Url.Aktion( „Registrieren“, „Account“)‘ „
  2. 0

    Was Arun gepostet hat Total funktioniert. Aber Sie haben auch für die Erhaltung der URL in der client-site-code.

    Andere Möglichkeit wäre, heraus zu finden, in dem controller, wenn der Anfrage, die gepostet wurde, ist ein AjaxRequest.
    Wenn dem so ist, und einige Bedingungen gelten könnte man umleiten oder sogar senden Sie einen teilweise an den client zurück.

    Einen Weg, um herauszufinden, ob eine Anforderung ist ein AjaxRequest mit MVC 4 ist

    new HttpRequestWrapper(System.Web.HttpContext.Current.Request).IsAjaxRequest() 

    oder analysieren von Anfragen-Header für die ajax-Eigenschaften.

    Dies ist auch eine Frage ALSO über die Erkennung eines Ajax-Request
    Erkennen IsAjaxRequest() mit ASP.NET MVC und JQuery Form Plugin /Datei-Upload

    OK wenn Sie einen Blick in posting ajaxy Sachen in ASP.NET MVC mit kompiliert routing…

    $.ajax({
            url: '@Url.Action( "Register", "Account")',
            data: {model:JSON.stringify(inputs)},
            type: 'POST',

    oder für Formular-Sammlungen

    $.ajax({
        url: '@Url.Action( "Register", "Account")',
        data: {col :$("form_id").serialize()},
        type: 'POST',

    verwenden von @ – URL.Action-helper in den views.
    Wenn sich jetzt Registrieren, erhält eine ajax-Anfrage verarbeiten die redirect-Logik auf dem server …

    • Mein problem ist, ich don verwenden ajax-request in meinem controller.

Kostenlose Online-Tests