asp.net handler.ashx仅在ajax中刷新时运行

asp.net handler.ashx仅在ajax中刷新时运行,asp.net,ajax,Asp.net,Ajax,我试图在运行时在asp.net页面中显示图像 所以我写了一个处理程序页面。并将该页面用作url源 类似于按钮单击事件中的image.imageurl=“~/handler.ashx” 然而,当我将imagebox和按钮放在ajax更新面板中时。 处理程序中的代码仅在页面加载后第一次单击时执行,而不是在第二次单击时执行。 我需要刷新页面。如何在不刷新按钮的情况下实现图像更新 提前感谢。代码 返回从wcf服务获取的图像的处理程序 public class Handler : IHttpHandler

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

然而,当我将imagebox和按钮放在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();
}
关键是每次都需要一个新的url

更多详情