Error: Unable to get property '_ScriptLoaderTask' of undefined or null reference
Error: Unable to get property '_ScriptLoaderTask' of undefined or null reference
为什么在 ASP 中使用 ScriptManager
和 JavaScript 关闭 RadWindow 时会抛出 Error: Unable to get property '_ScriptLoaderTask' of undefined or null referece
? (Internet Explorer 11)
我们的应用程序有 'Save and Close' 个按钮,这些按钮具有以下 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;
}
在调用 RadWindow .close()
函数之前添加 setTimeout()
一秒钟似乎可以解决问题。我相信这允许 ScriptManager.RegisterStartupScript
有足够的时间来完成执行。
以下 JavaScript 是问题的解决方案,并阻止错误模式显示 post 'Save and Close' 按钮单击:
function CloseModal() {
var oWnd = GetRadWindow();
if (oWnd) {
setTimeout(function () {
oWnd.close();
}, 1000);
}
}
为什么在 ASP 中使用 ScriptManager
和 JavaScript 关闭 RadWindow 时会抛出 Error: Unable to get property '_ScriptLoaderTask' of undefined or null referece
? (Internet Explorer 11)
我们的应用程序有 'Save and Close' 个按钮,这些按钮具有以下 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;
}
在调用 RadWindow .close()
函数之前添加 setTimeout()
一秒钟似乎可以解决问题。我相信这允许 ScriptManager.RegisterStartupScript
有足够的时间来完成执行。
以下 JavaScript 是问题的解决方案,并阻止错误模式显示 post 'Save and Close' 按钮单击:
function CloseModal() {
var oWnd = GetRadWindow();
if (oWnd) {
setTimeout(function () {
oWnd.close();
}, 1000);
}
}