Ciao Sto cercando di eseguire un webmethod con ajax da una pagina aspx. in pratica voglio reindirizzare a un'altra pagina di aspx con una stringa di query, ma voglio farlo da <a href>
, perché è parte di un menu jquery.non può chiamare Response.Redirect all'interno di un metodo statico
da quello che ho imparato, posso usare solo ajax per chiamare i metodi web statici, ma non posso reindirizzare dalla mia funzione statica.
Visual Studio segna in una linea rossa dicendo: "è richiesto un riferimento a un oggetto per il metodo non statico campo o la proprietà System.Web.HttpResponse.Redirect (stringa)"
Ecco la chiamata 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
});
}
qui è il a href:
<a onclick="redirect_to_profile()">Personal Profile</a>
Ecco l'webmethod all'interno del 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) non v'è statico 'Response'. 2) Ciò non vorrà comunque. Devi parlare con il JS. – SLaks
ho provato a parlarci, non risponderà:) cosa intendi con questo? – Dvirski
È necessario restituire un risultato che dice al JS cosa fare. – SLaks