脚本:
我有一个outlook web插件,后端由asp.netweb表单构建。
这是应用程序结构:
index.aspx
-action.ascx
-js file
在操作自定义控件中,我有:
<asp:updatepanel id="up_AI" runat="server" updatemode="Conditional">
<contenttemplate>
<script>
var controlId = '<%= save.UniqueID %>';
</script>
<asp:button id="save" runat="server" text="Save" onclick="save_Click" onclientclick="doSomething(controlId, 'arg'); return false;"/>
</contenttemplate>
</asp:updatepanel>
下面是js函数:
function doSomething(id,arg){
//something
__dopostback(id,arg)
}
所以当
doSmething()
完成后,应该会触发
save_Click
事件
这通常是第一次工作,但如果我继续返回视图并单击按钮,它最终将失败。要么抛出一堆js错误,要么就是在服务器事件发生时也无法更新ui。在我看来
update-panel
和
__dopostback
才是罪魁祸首。
这只发生在Outlook内置IE中。普通IE和其他浏览器不存在此问题。我正在使用Outlook Desktop 2016。
我得到的许多js错误之一
Unable to get property 'PageRequestManager' of undefined or null reference
我试过了
This
和
That