2013-10-07 48 views
0

我的代碼是的InnerException =無法因爲代碼優化或本機框上調用堆棧的頂部,以評估表達

請給我的解決方案...謝謝

bool b = false; 
    string str=Server.MapPath("~/Files/"+filepath); 


     // Send the file to the browser 
     Response.AddHeader("Content-type", filetype); 
     Response.AddHeader("Content-Disposition", "attachment; filename=" + filename); 

     Response.TransmitFile(Server.MapPath("~/Files/" + filepath)); 


     Response.Flush(); 
     // HttpContext.Current.ApplicationInstance.CompleteRequest(); 
     Response.End(); 

     b = true; 
+0

什麼是外部例外?如果我們不知道實際問題是什麼,我們無法回答。內部例外是無關緊要的。 – Jensen

+0

你是否在你的代碼中重定向? –

+0

外部異常是--- 線程正在中止。 –

回答

2

此通知表示線程當前正在執行代碼,因此不能用於評估表達式。

使用

HttpContext.Current.ApplicationInstance.CompleteRequest 

而不是Response.End();

Response.FlushResponse.End做除了Response.End同樣的事情,停止頁面的執行,並引發EndRequest事件。

噹噹前響應過早結束時,對End方法的調用會拋出ThreadAbortException異常。

+0

謝謝!我們無法評估表達式錯誤,這個答案拯救了我們的一天! – JPMarichal

+0

@JPMarichal我很高興這有幫助。 –

1

所以我就遇到了這個同樣的問題,我是在一個更新面板使用異步觸發按鈕

<asp:AsyncPostBackTrigger ControlID="btn_login" /> 

。我切換到普通郵報不是最好的,但它的工作。

<asp:PostBackTrigger ControlID="btn_login" />. 

因爲我只是在頁面上重定向,這是一個可行的解決方案。

相關問題