2008-11-18 9 views

Répondre

17

Je viens de chercher "Demande" du contexte dans le fichier asmx et j'ai vu cela. Mais je ne suis pas sûr que ce soit juste.

this.Context.Request.QueryString["id"]; 
+0

cela représente quel objet? – AnthonyWJones

+0

La classe webservice. Dans cet exemple c'est "Service"; –

2

Puisque vous demandez, je suppose qu'il n'y a pas HttpContext.Current.Request?

6

HttpContext.Current.Request.QueryString [ « id »]

2

Tout en recherchant la solution du même problème que je décidé de prendre approche différente. Ma chaîne de requête était remplie de nombreuses variables et comme je n'étais pas capable d'accéder aux données de chaîne de requête du service web, et je ne voulais pas envoyer chaque variable de chaîne de requête en paramètre séparé, j'ai préparé ma méthode web un paramètre de chaîne supplémentaire.

Ce paramètre a été window.location (url complète de la page) dans ma fonction javascript sur la page .aspx

Une fois que j'avais dans mon url service web, le reste était tout à fait en avant stright

Uri myRef = new Uri(stringMyWindowLocationParameter); 
System.Collections.Specialized.NameValueCollection mojQuery = HttpUtility.ParseQueryString(myRef.Query); 

maintenant, ma chaîne de requête est contenu dans myRef objet et voici comment je l'appelle

// Instead trying to request query string like this 
string myId = HttpContext.Current.Request.QueryString["id"]; 

// ... I called it like this 
string myId = myRef["id"]; 

Peut-être que ce n'est pas la manière la plus élégante mais elle a résolu mon problème.

Questions connexes