0

工具: Visual Studio 2003 Enterprise Architect,ASP.net WebForms 1.1
语言: C#

大家好,
我第一次尝试实现 IHttpHandler ,我以为我会没事的,但事实并非如此。我的 gridview 没有显示 Image ,我使用了 Img 标记并使用了 ImageHandler 的 URL

<ItemTemplate>
 <img src="ImageHandler.ashx?autoid=<%# DataBinder.Eval(Container.DataItem,"Blob_Id") %>" width="150" height="100" />
 </ItemTemplate>

注意: ImageHandler.ashx(实际上有 .cs 扩展名,它必须是 .ashx 吗?)

我的 GridView 显示这样的空图像, 在此处输入图像描述

当我右键单击图像并选择属性并找到链接时。 http://localhost/MySite/Presentation/ImageHandler.ashx?autoid=j01 我将该链接粘贴到另一个选项卡上并出现此错误,因为 ImageHandler 需要 ImageId 并发送图像作为回报,它应该有发送图像。

错误信息:

Exception Details: System.IO.FileNotFoundException: File or assembly name ImageHandler, or one of its dependencies, was not found.

PS:

  • ImageHandler(实现IHttpHandler)实际上是目录中的一个.cs文件ace
  • 我关注了这篇文章

更新:

似乎 ImageHandler 未正确注册为 HttpHandler,因为我已将 ImageHandler 名称更改为假 Handler,例如 FakeName.ashx,因此当我请求该链接时,它会给出与上述相同的错误。

4

1 回答 1

1

真的不需要注册 HTTP 处理程序。您只需拖放一个 .ashx 文件并点击它,只要 .ashx 文件在网站上并且代码也在 .ashx 文件内,它就可以工作。

你能告诉我处理程序的代码吗?

于 2012-07-09T14:12:01.987 回答