1

我最近了解到UpdatePanel使用添加了“no-cache”标头的 HTTP 请求。这会导致在每次 UpdatePanel 更新时下载其中的图像。我不想要这个。

那么我该如何预防呢?

我考虑过扩展UpdatePanel控制并尝试删除请求的“无缓存”部分,但肯定有一个更优雅的解决方案。

4

2 回答 2

1

使用 jquery 手动替换面板的内容。我已经做了很多。我通常使用的模式是使用用户控件,然后使用如下代码捕获文本:

var stringBuilder = new StringBuilder();
using (var tw = new TextWriter())
{
       var htmlWriter = new HtmlWriter(tw);

       userControl.RenderControl(htmlWriter);

       return stringBuilder.ToString();
}

这是我返回到PageMethod的结果,我在指定的 div 中设置了 html,然后 bang - 你完成了。

就像开发中的许多事情一样,您最终会在使用自动化工具时碰壁,并且您必须弹出一个抽象级别才能使其工作。祝你好运!

于 2011-01-13T14:58:41.253 回答
0

UpdatePanel只会将标no-cache头放在自己的更新请求上,而不是对其他资源(如图像)的请求。这些由浏览器像常规请求一样处理,即使它们在UpdatePanel内容中。
也许您只是忘记Expires在图像上添加标题?

于 2011-12-01T14:16:26.253 回答