3

IE 需要永远加载我的GridView位置,因为 Firefox 几乎是即时的(我知道大惊喜;但你知道用户以及他们如何喜欢 IE)。

我们有一个GridViewwhich 当用户滚动到底部时会将更多条目加载到列表中(基本上是延迟加载,而不是加载整个列表,它会加载 20 个条目,当您滚动到底部时它会加载下一个 20 个)。然而,就像我说的,这在 IE 和 FF 上的表现有很大的不同。在 IE 上调试时,我一直收到 Javascript 超时错误。
在此处输入图像描述 在此代码块中:

function Sys$WebForms$PageRequestManager$_endPostBack(error, executor, data) {
        if (this._request === executor.get_webRequest()) {
            this._processingRequest = false;
            this._additionalInput = null;
            this._request = null;
        }
        var handler = this._get_eventHandlerList().getHandler("endRequest");
        var errorHandled = false;
        if (handler) {
            var eventArgs = new Sys.WebForms.EndRequestEventArgs(error, data ? data.dataItems : {}, executor);
            handler(this, eventArgs);
            errorHandled = eventArgs.get_errorHandled();
        }
        if (error && !errorHandled) {
            throw error;
        }
    }

这个错误AFAIK是我们实现延迟加载(摆脱超时)的原因。然而,它似乎没有帮助,只是每次运行时都复制问题。注意:在我们上次发布之前,它会加载所有数据,而不是延迟加载。

此外,当它在 IE 上“加载”时,它似乎在这段代码上循环:

Protected Overrides ReadOnly Property ControlSkins() As System.Collections.IDictionary
            Get
                Return Me.__controlSkins
            End Get
        End Property

我相信,由于 FF 在没有超时的情况下显示数据,因此导致这种情况的原因是 IE 特有的,并且可能对于其他GridView人口的实现是常见的。

但是我应该注意到,我不肯定 FF 与 VS 进行通信,就像 IE 一样。这意味着我收到的警告(上面的屏幕截图)可能发生在 FF 上,而 VS 不会向我显示它们,但就像我说的那样,FF 对我们的页面没有问题。

跟进[类似错误 q/a]:在进一步测试ControlSkins()被重复调用的方法(上面发布)后,这里是它的值。HybridDictionary它在那个和之间交替Nothing

在此处输入图像描述

我必须继续测试,但我认为/希望(手指交叉)添加AsyncPostBackTimeout="300"到我的ScriptManager(对于那个小部件)已经停止了超时错误。当然,这对 IE 上的大量加载时间没有帮助。

4

0 回答 0