最近几天我们遇到了奇怪的错误。 ___doPostBack 未定义。
我们正在构建相当先进的网站,但不经常使用回发。使用回发的地方之一是 ASP.NET 登录状态控件。
它是概率性的,有时会被渲染,有时则不会。对于 IE、Chrome,它大部分工作正常,但对于 FireFox,页面源代码中很可能没有 doPostBack。
有什么想法吗?
PS:另外,错误仅发生在实际环境中,使用Windows 2003 & IIS 5.0,dotnet框架为3.5
可能是因为我在页面级别使用 OutputCache 吗?
最佳答案
刚刚发生在我们身上:当 googlebot 或任何其他机器人在普通用户之前访问您的页面时,该页面会被缓存,而没有任何回发选项。
我们做了一个简单的黑客攻击,如果 request.browser.javascript 为 false,则使用不同的输出缓存配置文件(asp.net 向这些浏览器/爬虫/机器人发送不同版本的页面)
关于asp.net:__doPostBack 有时不呈现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/480946/