在这里再加已经晚了,在RowDataBound中就加上提示属性,根本用不到ajax的控件。

解决方案 »

  1.   

    你直接用response.write("<script language='javascript>alert('提示:你没有登录 ');</script>");
    不行吗?
      

  2.   

          /// <summary>
            /// 在Ajax状态下弹出JavaScript小窗口
            /// </summary>
            /// <param name="js">窗口信息</param>
            public static void Alert2(string message)
            {
                #region    
                string  sScript = "<SCRIPT DEFER>";
                sScript = sScript + "alert('" + message + "')";
                sScript = sScript + "</SCRIPT" + ">";
                HttpContext.Current.Response.Write(sScript);
                #endregion
            }
    自己调用吧.在ajax下弹出javascript,有时需要:<script language= \'javascript\' >alert( \'提示:你没有登录 \'); <\/script >")你可以参考网上一些html转换javascript的,但在ajax下,还是不要再回传javascript脚本,因为大部分会出错.
      

  3.   

    是否没有登录的判断信息是在后台,所以根本用不到ajax,你直接用
    if(Session["Email"]==null) 
    {
    response.write(" <script language= 'javascript >alert( '提示:你没有登录'); </script >"); 
    或者
    Page.RegisterStartupScript(null, "<script lanuage=javascript>alert('提示:你没有登录');</script>");
    都可以的
      

  4.   

    如果你用Updatepannel就要用ScriptManager
    而js脚本都被ScriptManager控制了,所以弹不出提示框
      

  5.   

    问题我必须在gridview中用ajax控件,因为我需要不刷新页面的情况下更新数据!
      

  6.   

    楼上那么多人给出Response.Write的做法,其实在UpdatePanel里面Response.Write根本没用。我建议你跟踪一下objUpdatePannel是不是null,如果是的话就是获取objUpdatePannel的语句有问题,找不到控件,同时注册脚本时就变成了注册UpdatePanel外脚本。
      

  7.   

    改成这样看看,没测试,以前好像就这么用的:protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) 

        if (e.CommandName == "Complain") 
        { 
            if(Session["Email"]==null) 
            { 
                ScriptManager.RegisterStartupScript(this, this.GetType(), "close", "alert( '提示:你没有登录 ')", true); 
                Response.End(); 
            } 
        }