2011-09-27 27 views
7

說明:執行當前Web請求期間發生未處理的異常。請查看堆棧跟蹤以獲取有關該錯誤的更多信息以及源代碼的位置。System.Web.HttpException:響應在此上下文中不可用錯誤

異常詳細信息:System.Web.HttpException:響應在此上下文中不可用。

Source Error: 


Line 10: public void Download(string filename) 
Line 11: { 
Line 12:   Response.ContentType = "application/exe"; 
Line 13:   Response.AppendHeader("Content-Disposition", filename); 
Line 14:   Response.TransmitFile(Server.MapPath("~/Resources/bb.exe")); 

我有一個類中這個方法,我把這種方法,當我點擊一個按鈕

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 

public class Common: System.Web.UI.Page 
{ 
} 

我要去哪裏錯了

回答

10

當使用響應對象從一個aspx頁面,其代碼隱藏類或用戶控件,響應對象是直接可用的,因爲所有這些 都來自頁面對象。

當在自己的類使用響應對象,該對象不是 ,但您可以訪問它:

HttpContext.Current.Response。 - >東西

+1

謝謝。我在調用使用反射的方法時遇到了這個問題,即使它在同一個網頁類中。 – styfle

3

你只是不能像你在做的那樣使用頁面的Response對象,因爲這個對象代表已經發送的響應,所以你不能修改它或者使用TransmitFile。

您需要創建自己的處理程序來將文件寫入服務器輸出。請參閱的IHttpHandler文檔(http://msdn.microsoft.com/en-us/library/system.web.ihttphandler.aspx

2

我不知道的Web.config文件

但破連接字符串如何 - 造成了同樣的問題。

相關問題