2012-10-27 3 views
2

J'essaie d'afficher une image de ma base de données. J'ai un gestionnaire générique pour afficher l'image. Mais mon problème est que ça ne s'appelle pas. Mon code pour appeler le gestionnaire estGeneric Handler ne se fait pas appeler dans asp.net

Image1.ImageUrl = "~/ShowImage.ashx?id=" + id; 

où id est un nombre et ShowImage.ashx est le gestionnaire. Les points d'arrêt du fichier .ashx ne sont pas touchés non plus. Je suis nouveau à asp.net. Donc toute aide serait très appréciée.

+0

pouvez-vous partager votre code de gestionnaire? –

Répondre

1

Dans ce cas, les étapes que vous devez suivre sont de voir comment le code HTML est rendu.

Donc, faites un clic droit sur la page html, et "afficher la source de la page".

Localisez le point que le ShowImage.ashx est appelé et vérifiez si le chemin de rendu complet est correct. À partir de là, vous corrigez simplement le chemin.

Vous pouvez également utiliser les outils du navigateur pour voir ce que le navigateur recherche, et s'il le trouve ou non. Sur google chrome par exemple vous faites un clic droit, puis inspectez les éléments puis cliquez sur le réseau. Là, vous pouvez voir en rouge, quels fichiers votre page ne peut pas trouver, et vous devez fixer le chemin.

1

Vérifiez cet exemple Exemple de code, cela pourrait vous aider.

ASPX code:

<html xmlns="http://www.w3.org/1999/xhtml"> 
<head runat="server"> 
    <title></title> 
</head> 
<body> 
    <form id="form1" runat="server"> 
    <div> 
     <h1> 
      HTTP Handler class Impliment in Img tag 
     </h1> 
     <h1>Id : 1</h1> 
     <img src="ImageHandler.ashx?id=1" alt="Dynamic Image" /> 

     <h1>Id : 2</h1> 
     <img src="ImageHandler.ashx?id=2" alt="Dynamic Image" /> 

    </div> 
    </form> 
</body> 
</html> 

Exemples C# (fichier ImageHandler.ashx):

<%@ WebHandler Language="C#" Class="ImageHandler" %> 

using System; 
using System.Web; 

public class ImageHandler : IHttpHandler { 

    public void ProcessRequest (HttpContext context) { 
     //context.Response.ContentType = "text/plain"; 
     //context.Response.Write("Hello World"); 
     context.Response.ContentType = "image/jpeg"; 
     if (context.Request.QueryString["id"] == "1") 
     { 
      context.Response.WriteFile("bamboo.jpg"); 
     } 
     else 
     { 
      context.Response.WriteFile("palmtree.jpg"); 
     } 


    } 

    public bool IsReusable { 
     get { 
      return false; 
     } 
    } 

} 

Voici téléchargeables en direct exemples C# et VB.Net exemples. Click Here...

Questions connexes