下面是一个后台执行后向前台注册脚本执行的函数,但是在调用立马出错,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>");     
    }

解决方案 »

  1.   

    page.ClientScript.RegisterStartupScript(page.GetType(), "message", "Ext.MessageBox.alert('', '" + msg + "');", true); 
    检查一下红红的alert附近是否有问题,我有点看不清楚。还有使用这个注册JS时,最好是先判断页面是否已经注册了这个Key,如果没有注册,否则不注册
    string msg = "Hello World !";
            if (!this.IsStartupScriptRegistered("message"))   //message,为注册JS的Key
            {
               this.ClientScript.RegisterStartupScript(this.GetType(), "message", "alert('" + msg + "');", true);
            }这代码没有用Extjs,是普通的做法,看是否有帮助
       
      

  2.   

    Extjs的基础文件都引用了,并且也弹出了Extjs MessageBox.alert 的效果,就是前面出错了,写的代码没有错 public static void Show(System.Web.UI.Page page, string msg)
        {        
            page.ClientScript.RegisterStartupScript(page.GetType(), "message", "Ext.MessageBox.alert('', '" + msg + "');", true);   
       }