0

ファイルをダウンロードした後、さらにコードを実行する必要がありますが、実行されません。ClearControls();コンパイラは の後にヒットしDownloadFile();ますが、関数は実行されません。ページで、ファイルを開くか保存するように求めるプロンプトが表示されます。しかし、テキストボックスはクリアされません。この場合、何をすべきか。

protected void btnOk_Click(object sender, EventArgs e)
{
//ClearControls(); // not working here too.
DownloadFile();
ClearControls();
}

private void DownloadFile()
{
Response.ContentType = "application/pdf";
Response.AppendHeader("Content-Disposition","attachment;filename="+sName+".pdf");
Response.TransmitFile(Server.MapPath("~/documents/ready/" + strPdfName));
//Response.End();
HttpContext.Current.ApplicationInstance.CompleteRequest();
}

private void ClearControls()
{
  txtOne.Text="";
  txtTwo.Text="";
}
4

2 に答える 2

1

これは、ダウンロードをただちに開始するのではなく、通常、Web ページがダウンロードのために別のページに移動する理由の 1 つです。2 つの HTTP 応答を返すには、2 つの別個の HTTP 要求が必要です。応答は既にダウンロードするファイルであるため、元のページの一部として含める必要がある応答を送信する方法はありません。

于 2014-09-24T10:59:15.310 に答える