__dopostback不适用于Outlook内置IE中的更新面板

时间:2018-10-23 10:58:51

标签: javascript asp.net internet-explorer updatepanel dopostback

场景:

我有一个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错误之一

我尝试过 ThisThat

0 个答案:

没有答案