Asp.net 带有浏览器缓存的UpdatePanel

Asp.net 带有浏览器缓存的UpdatePanel,asp.net,header,updatepanel,browser-cache,Asp.net,Header,Updatepanel,Browser Cache,我最近了解到,UpdatePanel使用添加了“no cache”头的HTTP请求。这会导致在每次UpdatePanel更新时下载其中的图像。我不要这个 那么我该如何防止这种情况呢 我曾考虑扩展UpdatePanel控件,并尝试清除请求中的“无缓存”部分,但肯定有更优雅的解决方案。使用jquery手动替换面板的内容。我已经做了很多了。我通常使用的模式是使用用户控件,然后使用如下代码捕获文本: var stringBuilder = new StringBuilder(); using (var

我最近了解到,
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();
}
这是我返回到的结果,我在指定的div中设置了html,然后砰的一声,就完成了


和开发中的许多事情一样,您最终会遇到自动化工具的问题,您必须降低抽象级别才能使其正常工作。祝你好运

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

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

       userControl.RenderControl(htmlWriter);

       return stringBuilder.ToString();
}
这是我返回到的结果,我在指定的div中设置了html,然后砰的一声,就完成了


和开发中的许多事情一样,您最终会遇到自动化工具的问题,您必须降低抽象级别才能使其正常工作。祝你好运

UpdatePanel只会将
no cache
头放在自己的更新请求上,而不会放在对其他资源(如图像)的请求上。这些请求与常规请求一样由浏览器处理,即使它们位于
UpdatePanel
内容中。

也许您只是忘记了在映像上放置
Expires
头?

更新面板只会将
无缓存
头放在自己的更新请求上,而不会放在对其他资源(如映像)的请求上。这些请求与常规请求一样由浏览器处理,即使它们位于
UpdatePanel
内容中。

也许你只是忘了在你的图像上加一个
Expires
标题?

这是一个不错的选择,但没有回答问题。我认为这是你获得所需更好控制的唯一方法。这是一个不错的选择,但这并不能回答问题。我认为这是获得所需更精细控制的唯一方法。我刚刚与Fiddler核实过,事实似乎确实如此!我刚和Fiddler核实过,事实似乎确实如此!