ne peut pas appeler de Réponse.Rediriger l'intérieur d'une méthode statique
Bonjour, je suis en train de lancer un webmethod avec l'ajax à partir d'une page aspx. fondamentalement, je veux rediriger vers une autre page aspx avec une chaîne de requête, mais je veux le faire à partir de <a href>
, parce qu'il fait partie de jquery menu.
de ce que j'ai appris je ne peux utiliser ajax pour appeler statique webmethods, mais je canot de redirection à partir de ma fonction statique.
visual studio marque dans une ligne rouge en disant: "une référence d'objet est requise pour le champ non statique méthode ou Système de la propriété.Web.HttpResponse.Redirect(string)"
voici l'appel 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
});
}
ici est l'un href:
<a onclick="redirect_to_profile()">Personal Profile</a>
ici est le webmethod à l'intérieur de la 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);
}
Response
. 2) ça va pas le faire vous voulez de toute façon. Vous devez parler à la JS.j'ai essayé de lui parler, de ne pas répondre : ) que voulez-vous dire par là?
Vous avez besoin de retourner un résultat qui indique la JS quoi faire.
Pourquoi êtes-vous à l'aide d'AJAX? Il semble que vous voulez un lien, cliquez sur le résultat dans le navigateur de charger une autre page. AJAX est un mauvais choix si vous voulez il suffit de charger une nouvelle page.
OriginalL'auteur Dvirski | 2013-06-12
Vous devez vous connecter pour publier un commentaire.
Vous devrez renvoyer l'URL construite pour le client:
Puis à l'aide de JavaScript, dans le
success
fonction de l'appel AJAX, définissez l'emplacement:Ou peut-être:
Merci pour cette @Subvention! Ce qui ne l'
.d
indiquer? La réponse elle-même est juste un objet, tandis que la.d
semble pour obtenir la chaîne de valeur...Merci beaucoup de la Subvention.
res.d
a fait le tour pour moine fonctionne pas dans mon cas
res.d est faux.. pas de chaîne
OriginalL'auteur Grant Thomas
Vous avez besoin d'avoir votre site web méthode de transmettre l'ID de l'utilisateur dont le profil que vous souhaitez rediriger, puis dans votre jQuery succès de rappel de la fenêtre.l'emplacement du chemin d'accès et la chaîne de requête, comme ceci:
OriginalL'auteur Karl Anderson
Au lieu de faire HttpResponse.Redirection, vous pouvez envoyer cette url que vous avez généré à vous Javascript (réponse à l'appel ajax) et ensuite utiliser du code Javascript pour rediriger.
OriginalL'auteur Guanxi
Essayez ceci:
OriginalL'auteur crazy coder