2009-08-31 7 views
2

Ici j'utilise Asp.Net Ajax SlideShowExtender Control pour créer un diaporama d'images qui sont stockées dans la base de données. Ce contrôle utilise le service Web GetSlides() pour récupérer les informations de la base de données. Maintenant, je veux passer une chaîne de requête à GetSlides() webservice afin que les images tournent comme sur la valeur dans la chaîne de requête. Ma difficulté est comment passer la chaîne de requête à ce service web particulier, j'ai essayé d'utiliser "HttpContext.Current.Request.QueryString [" id "]" mais cela ne fonctionne pas, pourquoi? Quelqu'un peut-il s'il vous plaît suggérer comment passer querystring à ce webservice.Comment passer querystring à Ajax WebService

Répondre

2

Pour passer querystring vous pouvez faire quelque chose comme ça

http://yourpath/service.asmx?imageid=3 

et pour accéder au querystring de votre service Web, vous pouvez le faire

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

ce n'est pas ce que je demande, je passe querystring de firstpage "Response.Redirect (" secondpage.aspx id =? "+ Path);" et dans la deuxième page sous la méthode web ajax slideshowextender j'utilise le code suivant pour récupérer "HttpContext.Current.Request.QueryString [" id "]" mais cela ne fonctionne pas. –

3

Vous devez utiliser la fonctionnalité ContextKey du SlideShowExtender (voir its documentation).

Si votre extension a été déclaré quelque chose comme l'échantillon:

<ajaxToolkit:SlideShowExtender ID="SlideShowExtender1" runat="server" 
    TargetControlID="Image1" 
    SlideShowServiceMethod="GetSlides" 
    AutoPlay="true" 
    ImageTitleLabelID="imageTitle" 
    ImageDescriptionLabelID="imageDescription" 
    NextButtonID="nextButton" 
    PlayButtonText="Play" 
    StopButtonText="Stop" 
    PreviousButtonID="prevButton" 
    PlayButtonID="playButton" 
    Loop="true" /> 

Et votre méthode de service GetSlides ont été déclarés avec le paramètre contextKey (attention, il est sensible à la casse), comme ceci:

[System.Web.Services.WebMethod] 
[System.Web.Script.Services.ScriptMethod] 
public AjaxControlToolkit.Slide[] GetSlides(string contextKey) 
{ 
    // Do something with contextKey here and return the slides. 
} 

Ensuite, vous pouvez passer cette valeur QueryString à la méthode de service avec un code comme celui-ci dans le Page_Load de votre secondPage.aspx.

protected void Page_Load(object sender, EventArgs e) 
{ 
    SlideShowExtender1.ContextKey = Request.QueryString["id"]; 
} 
+0

Droit sur l'argent! Utilisé ceci pour passer des chemins aux images. +1 –

Questions connexes