Witam Próbuję uruchomić webmethod z ajaxem ze strony aspx. zasadniczo chcę przekierować do innej strony aspx z ciągiem kwerendy, ale chcę to zrobić z <a href>
, ponieważ jest częścią jquery menu.nie można wywołać Response.Redirect wewnątrz metody statycznej
Z tego, czego się nauczyłem, mogę używać ajax do wywoływania static webmethods, ale nie mogę przekierować z mojej statycznej funkcji.
visual studio zaznacza go w czerwoną linią mówiąc: „odwołanie do obiektu jest wymagane dla nonstatic metody pola lub właściwości System.Web.HttpResponse.Redirect (string)”
Oto wezwanie ajax :
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
});
}
tutaj jest a href:
<a onclick="redirect_to_profile()">Personal Profile</a>
oto WebMethod wewnątrz 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) nie ma statyczne 'Response'. 2) W każdym razie tego nie chcesz. Musisz porozmawiać z JS. – SLaks
Próbowałem z nim porozmawiać, nie odpowiem:) co masz na myśli? – Dvirski
Należy zwrócić wynik, który mówi WS, co należy zrobić. – SLaks