Anomalie sur lien download PDF [Résolu]

Signaler
Messages postés
5
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
13 janvier 2009
-
Messages postés
5
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
13 janvier 2009
-
Bonjour,
J'ai une petite anomalie dans mon projet que je n'arrive pas à résoudre.

Dans une page aspx, je charge plusieurs liens (dynamiquement) utile pour le téléchargement de fichier de type PDF.
J'ut'ilise pour cela un fichier ashx (handler) pour fournir le path de chaque fichier PDF à ma page.

Lorsque j'affiche ma page aspx et que je clique sur le lien du pdf à télécharger tout se passe très bien.
J'arrive à faire un "Save file as" ou un "Open file". jusque la tout vas bien.
Mais par la suite, lorsque je clique sur un autre lien qui n'a rien avoir avec le téléchargement de PDF, L'application m'affiche à nouveau le dialog box du fichier PDF  précédemment ouvert.

Si vous avez une petite idée, d'où pourrait venir le problème.

Merci pour vos future réponse.

3 réponses

Messages postés
561
Date d'inscription
mardi 4 mars 2008
Statut
Membre
Dernière intervention
10 juin 2010

je me demande si ce n'est pas  à cause du postback

essaie une fois avec un hyperlink
 
Dim h as HyperLink = new HyperLink
h.NavigateUrl = "addingFileLink.ashx?Lnk="
& liens &
"&Name="
Messages postés
5
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
13 janvier 2009

Un petit UP.

Voilà le code coté de mon fichier ashx (httpHandler)
<hr />Public Class
addingFileLink
Implements
IHttpHandler

Public
Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest

If
context.Request.QueryString("Lnk") IsNotNothingAnd context.Request.QueryString("Name") IsNotNothing Then

context.Response.AppendHeader("content-disposition"
, "attachment;filename=" & context.Request.QueryString("Name"))
context.Response.ContentType = "application/pdf"

context.Response.BufferOutput = False

context.Response.TransmitFile(context.Request.QueryString("Lnk"
))
context.Response.Flush()

context.Response.Close()

context.Response.End()

End
If

End
Sub

Public
ReadOnlyProperty IsReusable() AsBooleanImplements IHttpHandler.IsReusable
Get

Return
False

End
Get
End
Property

EndClass

<hr />Code coté page aspx lors de la création des liens:
<hr />
Dim

lnkDownloadArticle
As
New LinkButton
lnkDownloadArticle.CssClass =
"downloadPDF"
lnkDownloadArticle.Text = "test"
lnkDownloadArticle.ID =
"lnkDownloadPDF_" & cptDownPDF
lnkDownloadArticle.PostBackUrl =
"addingFileLink.ashx?Lnk=" & liens &
"&Name=" & Name
<hr />
J'èspère que j'aurais plus de chance au niveau des réponses.
Messages postés
5
Date d'inscription
vendredi 14 février 2003
Statut
Membre
Dernière intervention
13 janvier 2009

Un grand merci pour ta réponse.

C'étais bien le malheureux postback
Voila les changement que j'ai apporté a mon code:<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>







<hr align="center" width="100%" size="2" />




'Dim lnkDownloadArticle AsNew LinkButton

Dim
LnkDownloadArticle
As


New

HyperLink



lnkDownloadArticle.CssClass = "downloadPDF"
lnkDownloadArticle.Text = "test"
lnkDownloadArticle.ID = "lnkDownloadPDF_" & cptDownPDF
'lnkDownloadArticle.PostBackUrl = "addingFileLink.ashx?Lnk=" & liens & "&Name=" & Name
LnkDownloadArticle.NavigateUrl = "addingFileLink.ashx?Lnk=" & liens & "&Name=" & Name







<hr align="center" width="100%" size="2" />






Comme quoi faut pas grand chose pour pété un câble.

Encore merci.

Ps: Si tu as une petite explication simple du phénomène qui c'est présenté, pour que je comprenne mieux, je suis preneur.