代码之家  ›  专栏  ›  技术社区  ›  Frostless

_ dopostback不能与outlook内置ie中的更新面板一起使用

  •  0
  • Frostless  · 技术社区  · 6 年前

    脚本:

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

    0 回复  |  直到 6 年前
    推荐文章