错误:无法获取未定义或空引用的属性“ _ScriptLoaderTask”

时间:2018-06-25 19:29:56

标签: javascript c# asp.net telerik scriptmanager

为什么在ASP中尝试使用Error: Unable to get property '_ScriptLoaderTask' of undefined or null referece和JavaScript关闭RadWindow时会抛出ScriptManager(Internet Explorer 11)

我们的应用程序具有“保存并关闭”按钮,这些按钮具有以下 C#代码,用于在保存完成后执行的关闭逻辑:

public void CloseWindow()
{
    ScriptManager.RegisterStartupScript(this, this.GetType(), "close", 
        "CloseModal()", true);
}

.aspx页面具有以下 JavaScript

function CloseModal() {
    var oWnd = GetRadWindow();
    if (oWnd) {
        oWnd.close();
    }
}

function GetRadWindow() {
    var oWindow = null;
    if (window.radWindow) {
        oWindow = window.radWindow;
    } else if (window.frameElement &&
        window.frameElement.radWindow) {
        oWindow = window.frameElement.radWindow;
    }
    return oWindow;
}

1 个答案:

答案 0 :(得分:0)

在调用RadWindow setTimeout()函数之前添加.close()一秒钟似乎可以解决此问题。我相信这可以让ScriptManager.RegisterStartupScript有足够的时间来完成执行。

以下JavaScript是解决该问题的一种方法,并从显示“保存并关闭”按钮单击后停止错误模式:

function CloseModal() {
    var oWnd = GetRadWindow();
    if (oWnd) {
        setTimeout(function () {
            oWnd.close();
        }, 1000);
    }
 }