msg 是存储过程的返回字符串,Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>");这么写程序没反映以前的程序这么写没问题的啊  
现在response.Write("<script>alert('" + msg + "')</script>"); 可以弹出提示
 
我怀疑Page_load 加了cookie的原因  程序只改了这个 protected void Page_Load(object sender, EventArgs e)
    {        if (Request.Cookies["userid"] != null)
        {
            //Response.Write(Request.Cookies["userid"].Value);
            c = Request.Cookies["userid"].Value;
            if (c == "" || (c.Substring(0,2)!="kf" && c.Substring(0,3)!="adm"))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>document.getElementById('gettaodata').style.display='none'</script>");
            }
        }
        else
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>document.getElementById('gettaodata').style.display='none'</script>");
        }
    }不知道哪错了

解决方案 »

  1.   

    document.getElementById('gettaodata')这个可能没有取到值
      

  2.   

    确保你要操作的对象在JS里是否正常获取
    如若你什么报错都没有的话,绝对是你的js有问题的
      

  3.   

    你这样写
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>");
    msg 里面的内容不能有换行,单引号等特殊字符才可以,正确的写法是
    msg = msg.Replace("\r\n","\\r\\n").Replace("'","\\'");
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('" + msg + "')",true);
      

  4.   

     protected void Page_Load(object sender, EventArgs e)
      {
    String msg = "ok";
    msg = msg.Replace("\r\n","\\r\\n").Replace("'","\\'");
    Page.ClientScript.RegisterStartupScript(this.GetType(), "", "alert('" + msg + "')",true);
    }这样不行?
      

  5.   

    你确认您的代码执行到了Page.ClientScript.RegisterStartupScript这行
      

  6.   

    你的程序不行,你需要断点看执行到那个行没有,一般是你的判断条件错误导致没有执行,
    你也可以查看浏览器源代码,看看源代码里面是否生成了
    alert("")
    这行代码
      

  7.   

     这个是
    response.write()  源文件    上面的是  Page.ClientScript.RegisterStartupScript(this.GetType(), "", "<script>alert('" + msg + "')</script>",true);  源文件
      

  8.   

    Page.ClientScript.RegisterStartupScript生成的代码不在页头。
    在页头的response.write()出来的内容会破坏页面的css的。Page.ClientScript.RegisterStartupScript生成的代码是在</form>这个结束标记的前面的
      

  9.   

    经测试  如果在Page_load 页面加入
    if(!Ispostback)
    { }Page.ClientScript.RegisterStartupScript 起作用