我试图在运行时在 asp.net 页面中显示图像,所以我编写了一个处理程序页面。并在按钮单击事件中将该页面用作 url 源,例如 image.imageurl = "~/handler.ashx"。
但是,当我将图像框和按钮放入 ajax 更新面板时。处理程序内的代码仅在页面加载后的第一次单击时执行,而不是在第二次单击时执行。我需要刷新页面。如何在不刷新按钮单击的情况下实现图像更新?
提前致谢。
返回从 wcf 服务获取的图像的代码处理程序
public class Handler : IHttpHandler
{
imageService.HelloWorldServiceClient cli = new imageService.HelloWorldServiceClient();
public void ProcessRequest (HttpContext context)
{
byte [] buffer = cli.getImage();
context.Response.ContentType = "image/jpeg";
context.Response.Buffer = true;
context.Response.BinaryWrite(buffer);
context.Response.Flush();
context.Response.End();
}
我在按钮点击时使用下面的代码
Image1.ImageUrl = "~/Handler.ashx";
图像控件和按钮都在 ajax 更新面板中。
好的,我通过对代码进行以下更改来解决问题
protected void Button1_Click(object sender, EventArgs e)
{
Image1.ImageUrl = "~/Handler.ashx?guid=" + Guid.NewGuid();
}
关键是每次都需要一个新的网址。
更多细节