首页 > 解决方案 > 更新面板异步回发不适用于 Outlook Web 加载项中的 FireFox

问题描述

我使用 asp.net 构建了 Outlook Web 加载项的后端。

我有一个更新面板和两个下拉列表。第一个下拉列表autopostback设置为 true,并且在onChange事件发生时,后面的代码将根据第一个下拉列表的选择重新填充第二个下拉列表。所以第二个下拉取决于第一个。

这适用于 Chrome、IE。

但是当我使用 Firefox 在 Office 365 中运行加载项时,不会发生重新填充。我可以看到事件在后端被命中,但 UI 没有改变。

在控制台中我有这个错误TypeError: Sys.WebForms is undefined

有趣的是,如果我在普通的 Firefox 窗口中运行该应用程序,它会工作,但当在 Office 365 中使用 Firefox 运行时,它不会。我想是因为它是在里面运行的iframe,并iframe没有真正支持update-panel。但是 IE 和 Chrome 没有这个问题。

更新:

1,如果更新没有发生,我可以右键单击并更新 iframe,通常它会起作用。

2、在打开外接程序之前,如果我打开控制台并清除日志,然后再使用外接程序,就可以了。

标签: asp.netfirefoxiframeupdatepaneloutlook-web-addins

解决方案


我最终通过将Office.js参考放在该部分的末尾来修复它head。似乎如果 Outlook Web 加载项在 Firefox 中运行,即使遇到一个错误,Firefox 也会停止执行 JS 代码。如果我把 放在Office.js前面,我使用的库Materialize会导致错误,阻止postback发生,所以 UI 不会更新。


推荐阅读