在IE上使用GridView但在Firefox上没有问题

时间:2013-08-10 02:38:36

标签: javascript c# gridview

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

我们有一个GridView,当用户滚动到底部时,会将更多条目加载到列表中(基本上是延迟加载,而不是加载整个列表,它会加载20个条目,当您滚动到底部时,它会加载接下来的20)。但是就像我说的那样,它在IE和FF上的表现有很大差异。在IE上调试时,我一直都会遇到Javascript超时错误 enter image description here 在此代码块中:

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会像IE那样与VS进行通信。这意味着我得到的警告(上面的屏幕截图)可能发生在FF和VS没有显示给我,但就像我说FF没有我们的页面问题。

跟进 [similar error q/a]: 在进一步测试之后,重复调用的ControlSkins()方法(上面发布)就是它的值。它在HybridDictionaryNothing

之间交替显示

enter image description here

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

0 个答案:

没有答案