我正在尝试从我的数据库中显示图像。我有一个通用处理程序来显示图像。但我的问题是它没有被调用。我调用处理程序的代码是
Image1.ImageUrl = "~/ShowImage.ashx?id=" + id;
其中id是数字, ShowImage.ashx 是处理程序。 .ashx 文件中的断点也不会受到影响。我是 asp.net 的新手。所以任何帮助都将受到高度赞赏。
答案 0 :(得分:1)
在这种情况下,您需要遵循的步骤是查看html的呈现方式。
因此,右键单击html页面,然后“查看页面源”。
找到调用ShowImage.ashx
的点,并查看完整渲染路径是否正确。
从那里你可以简单地纠正路径。
另外,您可以使用浏览器工具查看浏览器查找的内容,以及是否找到它。例如,在Google Chrome上右键单击,然后检查元素,然后单击网络。在那里你可以看到红色,你的页面找不到什么文件,你需要修复路径。
答案 1 :(得分:1)
检查此示例示例代码,这可能会对您有所帮助。
ASPX代码:
<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>
C#示例(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;
}
}
}
以下是可下载的C#示例和VB.Net示例。的 Click Here... 强>