0

我试图在运行时在 asp.net 页面中显示图像,所以我编写了一个处理程序页面。并在按钮单击事件中将该页面用作 url 源,例如 image.imageurl = "~/handler.ashx"。

但是,当我将图像框和按钮放入 ajax 更新面板时。处理程序内的代码仅在页面加载后的第一次单击时执行,而不是在第二次单击时执行。我需要刷新页面。如何在不刷新按钮单击的情况下实现图像更新?

提前致谢。

4

2 回答 2

0

返回从 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 更新面板中。

于 2013-11-07T15:03:45.847 回答
0

好的,我通过对代码进行以下更改来解决问题

protected void Button1_Click(object sender, EventArgs e)
{
    Image1.ImageUrl = "~/Handler.ashx?guid=" + Guid.NewGuid();
}

关键是每次都需要一个新的网址。

更多细节

将 ASP.NET AJAX UpdatePanel 与处理程序一起使用

于 2013-11-11T10:17:01.287 回答