为什么在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;
}
答案 0 :(得分:0)
在调用RadWindow setTimeout()
函数之前添加.close()
一秒钟似乎可以解决此问题。我相信这可以让ScriptManager.RegisterStartupScript
有足够的时间来完成执行。
以下JavaScript是解决该问题的一种方法,并从显示“保存并关闭”按钮单击后停止错误模式:
function CloseModal() {
var oWnd = GetRadWindow();
if (oWnd) {
setTimeout(function () {
oWnd.close();
}, 1000);
}
}