下面是一个后台执行后向前台注册脚本执行的函数,但是在调用立马出错,Ext.MessageBox.alert确实弹出来了,但是在之前出了一个很严重的问题,点出错关闭后,页面立马转向到一个错误的地址。用下面注释掉的,window.alert(); 没问题!请大家试一下,看看错误/// <summary>
/// 显示消息提示对话框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void Show(System.Web.UI.Page page, string msg)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "message", "Ext.MessageBox.alert('', '" + msg + "');", true);
// page.ClientScript.RegisterStartupScript(page.GetType(),"message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
}
/// 显示消息提示对话框
/// </summary>
/// <param name="page">当前页面指针,一般为this</param>
/// <param name="msg">提示信息</param>
public static void Show(System.Web.UI.Page page, string msg)
{
page.ClientScript.RegisterStartupScript(page.GetType(), "message", "Ext.MessageBox.alert('', '" + msg + "');", true);
// page.ClientScript.RegisterStartupScript(page.GetType(),"message", "<script language='javascript' defer>alert('" + msg.ToString() + "');</script>");
}
检查一下红红的alert附近是否有问题,我有点看不清楚。还有使用这个注册JS时,最好是先判断页面是否已经注册了这个Key,如果没有注册,否则不注册
string msg = "Hello World !";
if (!this.IsStartupScriptRegistered("message")) //message,为注册JS的Key
{
this.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('" + msg + "');", true);
}这代码没有用Extjs,是普通的做法,看是否有帮助
{
page.ClientScript.RegisterStartupScript(page.GetType(), "message", "Ext.MessageBox.alert('', '" + msg + "');", true);
}