0

私はASP.netを持っています。これにより、ユーザーは多数の入力とドロップダウンリストを選択してレポートをフィルタリングし、同じフォームのボタンを押した後にExcelレポートをダウンロードできます。

このページは、入力を変更してダウンロード ボタンを押すたびに、複数回使用できます。

ボタンは非表示の IFRAME に別の Web ページにポストバックする必要がありますが、必要に応じてその場でフォームのターゲットを変更することはできません。

<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>

さらに、「DownloadToExcel」ボタンを押してファイルをダウンロードすると、期待どおりにファイルがダウンロードされます。ただし、画面の更新を含む追加のポストバックは、filter.aspx ではなく、report.aspx にポストバックされます。

ファイルをダウンロードするために一度だけポストバックするようにポストバックを修正し、元のページに戻して、画面を引き続き使用して 2 番目のレポートをフィルタリングしてダウンロードできるようにするにはどうすればよいですか。

これにより、IFRAME も不要になる場合があります。

4

1 に答える 1

1

PostBackURLをすべての送信ボタンに直接追加するという問題を解決します。

1つはreport.aspxに移動するExcelダウンロード用で、もう1つはfilter.aspxのページのポストバック用です。

ポストバックが変更された場合(この場合はreport.aspxに変更された場合)、明示的に定義されていない限り、ポストバックするたびに、後続のポストバックのパス名が再利用されるようです。

于 2010-08-26T21:53:14.247 に答える