2010-08-26 4 views
0

J'ai un ASP.net qui permet aux utilisateurs de sélectionner un nombre d'entrées et de listes déroulantes pour filtrer le rapport et télécharger un rapport Excel après avoir appuyé sur un bouton sur ce même formulaire .changer le PostBackUrl dans ASP.net après un téléchargement de fichier

La page peut être utilisée plusieurs fois, en changeant les entrées et en appuyant sur le bouton de téléchargement à chaque fois.

Le bouton doit être renvoyé à l'IFRAME caché vers une page Web distincte, mais je suis incapable de modifier la cible pour le formulaire à la volée si nécessaire.

<form runat="server" method="post"> 
<asp:Button runat="server" id="DownloadToExcel" TabIndex="-1" Text="Download To Excel" UseSubmitBehavior="False" PostBackUrl="report.aspx" /> 
</form> 
<iframe style="hide" id="output" src=""></iframe> 

Additonally, quand je télécharger le fichier lorsque vous appuyez sur le bouton « DownloadToExcel », le fichier downlodads comme prévu. Cependant, toute publication supplémentaire, y compris la mise à jour de l'écran, est renvoyée à report.aspx et non à filter.aspx. Comment puis-je corriger la publication de sorte qu'elle ne publie qu'une seule fois pour télécharger le fichier, puis le ramène à la page d'origine afin que l'écran continue à être utilisé pour filtrer et télécharger un second rapport.

Cela peut aussi éliminer le besoin de l'IFRAME.

Répondre

1

Je résous le problème en ajoutant des PostBackURL à tous les boutons d'envoi directement.

Un pour le téléchargement Excel qui va à report.aspx et l'autre pour la publication sur la page pour filter.aspx. Il semble que si la publication est modifiée, dans ce cas report.aspx, elle réutilise le chemin d'accès pour toutes les publications ultérieures, à moins que cela ne soit explicitement défini, à chaque fois que vous souhaitez effectuer une publication.

Questions connexes