0

ツール: Visual Studio 2003 Enterprise Architect、ASP.net WebForms 1.1
言語: C#

こんにちは、
私は初めて IHttpHandler を実装しようとしています。うまくいくと思っていましたが、そうではありません。グリッドビューに画像が表示されませんでした。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 を必要とし、代わりに Image を送信するため、画像を送信する必要があります。

エラーメッセージ:

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

PS:

  • ImageHandler (IHttpHandler を実装) は、実際にはディレクトリ内の.csファイルですace
  • この記事をフォローしました

アップデート:

ImageHandler の名前を FakeName.ashx などの偽の Handler に変更したため、ImageHandler が HttpHandler として適切に登録されていないようです。そのため、そのリンクを要求すると、上記と同じエラーが発生します。

4

1 に答える 1

1

HTTP ハンドラを実際に登録する必要はありません。.ashx ファイルをドロップしてヒットするだけで、.ashx ファイルが Web サイトにあり、コードも .ashx ファイル内にある限り機能します。

ハンドラーのコードを見せてもらえますか?

于 2012-07-09T14:12:01.987 に答える