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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie wollen Redirect-Seite auf Erfolgreichem login schreiben Sie dann die Umleitung code auf Erfolg (ajax Erfolg).
Exp:
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
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...
oder für Formular-Sammlungen
...
verwenden von @ - URL.Action-helper in den views.
Wenn sich jetzt Registrieren, erhält eine ajax-Anfrage verarbeiten die redirect-Logik auf dem server ...