2012-09-05 40 views
0

我使用HttpHandler從數據庫中檢索圖像,然後在我的網頁(aspx)的圖像網頁控件中使用Handler作爲ImageUrl。代碼如下所示。但它不起作用,到目前爲止我無法弄清楚爲什麼。問題是HttpHandler的是從來沒有被打,如果我把斷點的processRequest()這是從來沒有擊中httphandler從未被擊中

下面是處理程序

的簡單代碼
public class ImageHandler : IHttpHandler 
{ 
    StaffMemberRepository db = new StaffMemberRepository(); 
    public void ProcessRequest(HttpContext context) 
    { 
     int id = Convert.ToInt32(context.Request.QueryString["id"].ToString()); 
     byte[] image = db.GetImage(id); 
     context.Response.ContentType = "image/jpg"; 
     context.Response.BinaryWrite(image); 
    } 

    public bool IsReusable 
    { 
     get 
     { 
      return false; 
     } 
    } 
} 

以下是我的網頁標記

asp:Image ID="imgStaff" runat="server" ImageAlign="Middle" ImageUrl="~/Handlers/ImageHandler.ashx?id=2" 

有人可以讓我知道我在做什麼錯嗎?

+0

您可以在網頁配置部分註冊您的處理程序嗎? – Josh

+0

您是否已將瀏覽器指向此處:Handlers/ImageHandler.ashx?id = 2? –

+0

我還沒有在Web.config中添加任何內容。我可能會愚蠢地想,但我認爲就我爲本地計算機使用ASP DEV服務器而言,我可以跳過web.config部分。如果情況並非如此,請糾正我。 –

回答

0

好吧,我現在可以看到我的愚蠢了。我只是在web.config中註冊我的處理程序,現在一切都好了。