我創建了一個頁面,允許用戶下載文件時,他們點擊一個按鈕,頁面不迴應...按鈕的onclick事件鏈接到以下的代碼塊:後,
this.Page.Response.Clear();
this.Page.Response.ContentType = System.Net.Mime.MediaTypeNames.Application.Zip;
this.Page.Response.AppendHeader("Content-Disposition", "attachment; filename=\"" + System.IO.Path.GetFileName(filename) + "\"");
this.Page.Response.TransmitFile(filename);
this.Page.Response.Flush();
this.Page.Response.End();
下載工作正常,但現在當我嘗試與網頁互動(例如,再次點擊下載按鈕),沒有回發。
我是否響應下載請求錯誤(我應該使用不同的/新響應對象),或者是有別的東西,我需要做的,使下載後的頁面中的活動?
編輯:
所以我試過encorporating創建的HttpHandler,並調用Response.Redirect的從按鈕的單擊事件處理程序的兩張海報的建議。
void submitButton_Click(object sender, EventArgs e)
{
label.Text = "Boo!";
this.Page.Response.Redirect("~/ViewAttachment.ashx?id=foo", false);
}
如果我通過這一步的調試器,它延續了重定向調用後,但頁面只是返回的狀態下,該按鈕不起作用,而唱片公司有自己的缺省值。我現在做重定向錯了嗎?
好的,所以我認爲我主要實現了你的建議,但我仍然得到這種行爲,導致它重定向到另一個頁面後不響應。你有沒有別的想法? – tbischel 2010-02-03 08:03:59
@tbischel - 不要重定向:)只要讓該按鈕成爲該網址的超鏈接,你就全部設置好了。 – 2010-02-03 11:11:28
我一定是瘋了......我已經設置按鈕的回發URL到頁面...同樣的問題。我真的創建超鏈接並在其中放置按鈕控件嗎? – tbischel 2010-02-03 17:07:12