Hallo Ich versuche, eine Webmethode mit AJAX von einer aspx-Seite auszuführen. Im Grunde möchte ich auf eine andere Aspx-Seite mit einer Abfrage-Zeichenfolge umleiten, aber ich möchte es von <a href>
tun, da es Teil eines Jquery-Menüs ist.kann Response.Redirect nicht innerhalb einer statischen Methode aufrufen
von dem, was ich gelernt habe, kann ich nur Ajax verwenden, um statische Webmethoden aufzurufen, aber ich kann nicht von meiner statischen Funktion umleiten.
Visual Studio markiert es in einer roten Linie zu sagen: „eine Objektreferenz für die nicht-statische Feldmethode erforderlich ist oder Eigenschaft System.Web.HttpResponse.Redirect (string)“
hier ist der Ajax-Aufruf :
function redirect_to_profile() {
$.ajax({
type: "POST",
url: "personal_profile.aspx.cs.aspx/redirect_to_profile",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (res) {
alert("success");
},
error: function (res, msg, code) {
// log the error to the console
} //error
});
}
hier ist die a href:
<a onclick="redirect_to_profile()">Personal Profile</a>
hier ist der Webmethod innerhalb der personal_profile.aspx
[WebMethod]
public static void redirect_to_profile()
{
dbservices db=new dbservices();
string user = HttpContext.Current.User.Identity.Name;
string id = db.return_id_by_user(user);
HttpResponse.Redirect("personal_profile.aspx?id="+id);
}
1) Es gibt kein statisches 'Response'. 2) Das willst du sowieso nicht. Sie müssen mit dem JS sprechen. – SLaks
Ich habe versucht, damit zu reden, es wird nicht antworten:) Was meinst du damit? – Dvirski
Sie müssen ein Ergebnis zurückgeben, das dem JS sagt, was zu tun ist. – SLaks