基于响应流更新图像

时间:2010-09-20 19:07:16

标签: asp.net jquery ashx generic-handler

是否可以使用ASP.NET Generic Handler的响应流更新HTML页面上的图像?

例如,如果我在处理程序上有以下代码:

// http://www.example.com/?Guid=<AccountGuid>
public void ProcessRequest (HttpContext context) {
    context.Response.ContentType = "image/png";
    context.Response.WriteFile("~/images/test.png");
}

如何使用.ajax在jQuery中调用处理程序,并在页面上设置一个等于Handler返回的图像的图像? 我现在忽略了查询字符串变量,因为我只想让它工作。

其次,如果我可以在上面做,我怎么能遍历页面上所有类“内容”的DIV,从隐藏字段中选择一个guid作为我的查询字符串参数,并更新相关的同一内容DIV标签内的图片?

内容div标签如下所示:

<div class="content">
  <asp:TextBox runat="server" Id="HiddenField_1" Value="C142E68F-B118-4565-9A9E-B2347F0B6D5B"/>
  <img src="#"/>
</div>
<div class="content">
  <asp:TextBox runat="server" Id="HiddenField_2" Value="GJ38AD23-B118-4565-9A9E-B2347F0B6D5B"/>
  <img src="#"/>
</div>

我希望定期更新所有图像,所以基本上,作为一个快速回顾,我需要:

  1. 循环遍历所有类“内容”的DIV,每个n都会出现。秒。
  2. 从隐藏字段中提取GUID。
  3. 调用我的ASHX处理程序以获取更新的图像。
  4. 将返回的图像设置为页面上相应的图像。
  5. 这是难以实现的吗?如果没有,我需要做什么才能以上述方式实现这个功能?

1 个答案:

答案 0 :(得分:3)

使用jquery使用适当的url参数更改图像的src值。它将调用ashx处理程序并呈现新图像。