gpt4 book ai didi

ASP.NET 4.0 : __doPostBack JavaScript block missing on the page with OutputCache set

转载 作者:行者123 更新时间:2023-12-05 01:36:21 25 4
gpt4 key购买 nike

我的设置:在 IIS 6.0 上运行的 ASP.NET 4.0 网站。

我有一个包含许多带有虚拟 URL 的登录页面的站点,所有登录页面都由一个物理登录页面.aspx 文件(通过 ASP.NET 4.0 路由)提供服务,我在其中使用了 OutputCache指令,在服务器上缓存页面 24 小时。

最近,我开始遇到一个问题,即 __doPostBack一些生成的页面中缺少 JavaScript 块 .页面中有一个 LinkBut​​ton(在 webusercontrol 内),所以 JS 块应该在那里,但有时它没有。这是点击LinkBut​​ton时自然会导致浏览器出现JS错误 .

我的怀疑是,可能在第一次访问由上述物理 .aspx 文件处理的给定 URL 时,它可能是客户端(浏览器或搜索机器人)的访问,这可能被 ASP.NET 视为故障级浏览器,因此 doPostBack 没有输出到生成的页面缓存版本中,然后将这个错误的缓存版本提供给所有后续访问者......?另一方面,我想说 ASP.NET 足够聪明,可以为不同级别的浏览器生成不同的缓存版本,不是吗?

尽管如此,我的问题是:我能否在服务器的某个地方找到提供给访问者的缓存文件,并以某种方式检查我的假设是否正确?此外,我想完全禁用浏览器的这种 ASP.NET 识别,并向每个浏览器提供相同的内容,就像它为任何现代浏览器提供服务一样。

非常感谢您的任何建议和帮助。

最佳答案

回答我自己的问题:确认网站正在为无法识别的浏览器发回没有 __doPostBack() 的 HTML。将 ClientTarget="uplevel"添加到有问题的 .aspx 页面顶部的 @ Page 指令解决了这个问题,并且 __doPostBack() 块现在总是存在。

关于ASP.NET 4.0 : __doPostBack JavaScript block missing on the page with OutputCache set,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8007281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com