ASP.NET Web窗体应用程序突然抛出JavaScript错误

时间:2016-09-26 15:48:40

标签: javascript asp.net webforms

由于某些未知原因,我已经工作了几个月的ASP.NET Web窗体应用程序突然开始抛出此JavaScript错误:

  

JavaScript运行时错误:对象不支持属性或方法   '的indexOf'。

此错误出现在ASP.NET创建的一个动态的只读JavaScript文件中(我假设)。突出显示错误的代码块是:

_applyWatermark : function() {
        // Apply the watermark to the textbox
        var wrapper = Sys.Extended.UI.TextBoxWrapper.get_Wrapper(this.get_element());
        wrapper.set_Watermark(this._watermarkText);
        wrapper.set_IsWatermarked(true);

        if(!this._watermarkCssClass)
            return;

        var classList = this.get_element().className.split();
        if(classList.indexOf(this._watermarkCssClass) === -1) {
            classList.push(this._watermarkCssClass);
            this.get_element().className = classList.join(" ");
        }
    }

Visual Studio调试器专门指出此行是上述错误的来源:

  

if(classList.indexOf(this._watermarkCssClass)=== -1){

使用一些上下文线索,我可以看到错误似乎与我正在使用的Watermark extenders有关。 classList变量显然没有被赋予正确的值,但我不知道为什么会突然发生这种情况。此应用程序之前从未抛出此错误。

不幸的是,这个应用程序是专有的,所以我不能包含代码。相信我,如果可以的话,我会包含代码以解决这个问题。

我应该补充说,在包含Watermark extender

的每个页面上的页面加载时会发生此错误

如果这个问题描述不充分,或者它属于其他地方,请告诉我。我真的不知道发生了什么。谢谢你的帮助。

1 个答案:

答案 0 :(得分:0)

经过进一步调查,我发现某些母版页中的<meta>标签导致了问题。 content属性应设置为IE=edge。这是它应该如何阅读:

<meta http-equiv="X-UA-Compatible" content="IE=edge" />

我不完全确定为什么这突然导致应用程序崩溃,但它似乎已经解决了问题。我希望以后可以帮助别人。