【发布时间】:2011-12-04 20:45:58
【问题描述】:
我有一个带有 UpdatePanel 的 UserControl。更新面板中有一个 DropDownList。更改该部分时,将加载一个 DataList 并显示一个提交按钮。提交按钮在 IE 和 FireFox 中工作正常,但在 Chrome 中,它间歇性地似乎什么都不做(也就是说,很多时候它在 Chrome 中工作正常)。当它不起作用时,更新面板的 asp.net ajax UpdateProgress 模板不会显示,并且不会回发到服务器。 UpdatePanel 具有 ChildrenAsTriggers=true 并且按钮是子级。该按钮已启用,我在 Chrome 开发人员工具控制台中没有收到任何脚本错误。我在任何时候都没有服务器端异常。按钮没有附加自定义 javascript:
<asp:Button ID="btnContinue" runat="server" Text="" CssClass="btn_continue" OnClick="btnCheckOut_Click" />
当我单击按钮时,如何进一步调试正在发生(或未发生)的事情?
编辑:这里有一些新信息:
1) 当问题发生时,后续回发不会起作用。我从下拉列表中选择一个项目,它异步回发,然后按钮和更改下拉列表选择都不会再次导致回发。
2)我发现当我遇到问题时,我可以去工具>清除浏览数据并只检查“清空缓存”并清除它,然后重新加载页面,问题就消失了。在我注销并返回页面之前,我无法复制它。所以似乎和缓存有关。
3) 如果没有 UpdatePanel,多个回发似乎也能正常工作。
编辑2: 这是在 SharePoint 2007 中运行的,这显然是一个重要因素。母版页在其主体 OnLoad 中使用共享点脚本 INIT.JS 并形成 OnSubmit 事件来做一些事情。它所做的一件事是设置一个标志,指示表单是否已提交,并在 OnLoad 中将其设置回 false。 OnLoad 函数也基本上绕过了 ajax 回发的过程。问题是 Chrome 没有执行 OnLoad 事件,因此不会绕过进程,标志永远不会被设置回 false,并且 OnSubmit 函数会拒绝连续提交。我有一个线程在这里探讨这个问题:http://social.msdn.microsoft.com/Forums/en-ca/sharepointgeneral/thread/97ff77d1-31d4-45ff-af6e-524416cdff1c
【问题讨论】:
-
太糟糕了,您忽略了应用程序构建在 MOSS 之上的重要信息。如果您提供有关问题的所有信息,您会更快地得到答案。
-
是的,如果我意识到问题是特定于 SharePoint 的,那可能会有所帮助。但是,我的问题不是如何修复错误,而是如何解决错误。这个问题的答案是什么导致我缩小范围,将 SharePoint 作为罪魁祸首。在了解与错误相关的内容之前,我可能还可以包含数千个关于环境、硬件和所涉及软件的其他细节,这些细节可能是相关信息。事实上,包含“所有信息”会产生一本书,这就是我选择询问故障排除步骤的原因。
-
我很抱歉冒犯了你,这不是我的本意。我在 MOSS 方面也有一些非常有趣的经历,下班后发现不是 asp,不是我的脚本,而是 MOSS 中某个地方的某些东西是罪魁祸首。
标签: asp.net ajax google-chrome sharepoint-2007 updatepanel