我最近了解到,UpdatePanel
使用了添加了“no-cache”头的HTTP请求。这会导致其中的图像在每个UpdatePanel更新中下载。我不想要这个。带有浏览器缓存的UpdatePanel
那么我该如何预防呢?
我曾考虑过扩展UpdatePanel
控件并尝试删除请求的“no-cache”部分,但肯定必须有更优雅的解决方案。
我最近了解到,UpdatePanel
使用了添加了“no-cache”头的HTTP请求。这会导致其中的图像在每个UpdatePanel更新中下载。我不想要这个。带有浏览器缓存的UpdatePanel
那么我该如何预防呢?
我曾考虑过扩展UpdatePanel
控件并尝试删除请求的“no-cache”部分,但肯定必须有更优雅的解决方案。
UpdatePanel
只会将no-cache
标头放在自己的更新请求上,而不是对其他资源(如图像)的请求。这些由浏览器像常规请求一样处理,即使它们在UpdatePanel
内容中。
也许你只是忘了把Expires
标题放在你的图片上?
使用jquery手动替换面板的内容。我已经做了很多。我一般用的是使用用户控件,然后该模式使用这样的代码捕获文本:
var stringBuilder = new StringBuilder();
using (var tw = new TextWriter())
{
var htmlWriter = new HtmlWriter(tw);
userControl.RenderControl(htmlWriter);
return stringBuilder.ToString();
}
这是结果我回到PageMethod,我设置的HTML中指定的DIV,和邦 - 你完成了。
与开发中的许多事情一样,您最终会用自动化工具打开墙壁,并且必须在抽象级别下拉以使其工作。祝你好运!
这是一个很好的选择,但没有回答这个问题。 – 2011-01-14 08:06:46
我认为这是您获得更好控制所需的唯一方法。 – 2011-01-14 13:48:17