场景:
我有一个Outlook Web加载项,后端由asp.net Web表单构建。 这是应用程序的结构:
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。
我遇到Unable to get property 'PageRequestManager' of undefined or null reference
的许多js错误之一