2009-12-10 6 views
0

Passer un identifiant quoique la chaîne de requête à un httphanlder n'était pas si difficile dans un contrôle lisible comme un gridview. Je mets un ImageButton dans le gridview et définir sa propriété en tant que telle ImageURL ....Comment transmettre une chaîne de requête à un httphandler?

ImageUrl='<%#"~\Handlers\ImageHandler.ashx?id=" & Eval("ID") 

Cependant, maintenant je suis en train d'utiliser simplement un contrôle standard ImageButton juste assis là sur un contrôle utilisateur. J'appelle cette méthode que je crée sur le contrôle de l'utilisateur:

Public Sub LoadImage() 

    Dim sb As New StringBuilder 

    sb.Append("~\Handlers\ImageHandler.ashx") 
    sb.Append("?imageSourceCode=" & _imageSourceCode.ToString) 
    sb.Append("&displayTypeCode=" & _displayTypeCode.ToString) 
    sb.Append("&imageData=" & _imageData.ToString) 

    imgbtnImage.ImageUrl = sb.ToString 

End Sub 

... pour tenter de passer quelques paramters dans le HttpHandler, mais une fois à l'intérieur, il ne les voit pas. J'ai remarqué que j'avais également tapé une propriété ImageUrl sur le contrôle image lui-même pour pointer vers le gestionnaire sans chaîne de requête. Donc, j'ai supprimé cela et maintenant il échoue complètement!

+0

S'il vous plaît indiquer quelle langue/environnement dans lequel vous travaillez dans Est-ce VB.net? ASP.net? –

+0

(vous pouvez éditer votre publication et l'ajouter à vos étiquettes) –

Répondre

0

Essayez de résoudre l'URL avant de l'affecter à l'image.

imgbtnImage.ImageUrl = ResolveUrl(sb.ToString) 
1

Cela peut être votre problème.

ImageUrl='<%# "~\Handlers\ImageHandler.ashx?id=" & Eval("ID") %>' 
+0

+1, bien deviner; peut-être que OP veut aussi ajouter des trucs UrlEncode –

+0

L'OP a dit que le second bloc de code était en panne, pas le premier bloc. Je pense que les personnages manquants étaient juste une faute de frappe. – Joel

Questions connexes