0

我在 ASP.NET 应用程序的代码隐藏文件中通过服务器端 Java 脚本调用 RadAlert。此 RadAlert 在 IE7、IE9、Chrome 和 Firefox 上运行良好,但 IE8 抛出异常“Microsoft JScript 运行时错误:无法获取属性“radalert”的值:对象为空或未定义”。请任何人告诉我如何解决这个问题。以下是代码

string dialogMessage = "Record " + Session["SavedRecordID"].ToString() + " Saved Successfully";
string radalertscript = "<script language='javascript'> window.onload = function() {var oWnd = radalert('" + dialogMessage + "', 400, 140, 'Saved'); window.setTimeout(function () { oWnd.Close(); }, 3000);} </script>";
Page.ClientScript.RegisterStartupScript(this.GetType(), "radalert", radalertscript);

谢谢。

4

1 回答 1

0

在 IE 8 中,radalert 对象的构建可能发生得太晚了。由于 ASP.NET AJAX 组件可能使用不同的生命周期,您也可以尝试(至少消除我所说的是否是实际问题) :

Sys.Application.add_load(function(sender, e) {
  var oWnd = radalert('" + dialogMessage + "', 400, 140, 'Saved');
  window.setTimeout(function () { oWnd.Close(); }, 3000);}
});

您应该能够从服务器渲染它并且它的功能相同。

于 2013-01-04T14:24:05.057 回答