我最近了解到UpdatePanel
使用添加了“no-cache”标头的 HTTP 请求。这会导致在每次 UpdatePanel 更新时下载其中的图像。我不想要这个。
那么我该如何预防呢?
我考虑过扩展UpdatePanel
控制并尝试删除请求的“无缓存”部分,但肯定有一个更优雅的解决方案。
我最近了解到UpdatePanel
使用添加了“no-cache”标头的 HTTP 请求。这会导致在每次 UpdatePanel 更新时下载其中的图像。我不想要这个。
那么我该如何预防呢?
我考虑过扩展UpdatePanel
控制并尝试删除请求的“无缓存”部分,但肯定有一个更优雅的解决方案。
使用 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 - 你完成了。
就像开发中的许多事情一样,您最终会在使用自动化工具时碰壁,并且您必须弹出一个抽象级别才能使其工作。祝你好运!
UpdatePanel
只会将标no-cache
头放在自己的更新请求上,而不是对其他资源(如图像)的请求。这些由浏览器像常规请求一样处理,即使它们在UpdatePanel
内容中。
也许您只是忘记Expires
在图像上添加标题?