我在GridView的模板列中,添加了一个按钮,点击它时,显示一个提示信息:
代码:if (ckmx.sl > kcsl)
        {
           Response.Write(" <script> alert('出库数量不能大于库存数量!'); </script> ");   //为什么出错?
            return;
        }但不能正常显示提示信息。在其他地方可以,为什么呢?

解决方案 »

  1.   

    你的GridView是不是放在了UpdatePanle里面了.
    ajax控件里不能用这个输出信息的
      

  2.   

    那是你程序没走进去吧?
    还有直接弹出?为什么不注册下脚本呢?给你个方法,你增加进去调用下    
        /// <summary>
        /// 弹出信息
        /// </summary>
        /// <param name="msg">信息内容</param>
        public void PromptInfo(string msg)
        {
            string __Jscript = @"";
                   __Jscript += @"<script type='text/javascript'>";
                   __Jscript += @"alert('" + msg + "')";
                   __Jscript += @"</script>";
            ClientScript.RegisterStartupScript(this.GetType(), msg.GetHashCode().ToString(), __Jscript);
        }
      

  3.   

    gaoliuchang :你说的对! 我的GridView是不是放在了UpdatePanle里面了.那我如何输出信息呢?请指教。
      

  4.   

    UpdatePanel里面不支持Response.write方法的。你可以绕过去,通过后台服务器变量传到页面,然后通过javascript来弹出提示信息。
      

  5.   

    ScriptManager.RegisterClientScriptBlock(this.Page, this.GetType(), "", "alert('ok');", true);
      

  6.   


    ClientScript.RegisterStartupScript
      

  7.   

    这样
    ClientScriptManager ok=this.ClientScript
    ok.RegisterStartupScript(this.getType(),"","<script>alert('成功')</script>");
      

  8.   

    用AjaxExtensition
    #region 弹出信息
        /// <summary>
        /// 利用ScriptManager和UpdatePanel时,弹出信息
        /// </summary>
        /// <param name="strMsg">输入字符串</param>
        protected void ShowMsg(string strMsg)
        {
            ScriptManager.RegisterStartupScript(this.UpdatePanel1, this.UpdatePanel1.GetType(), "", "alert('" + strMsg + "');", true);
        }
        #endregion
      

  9.   

    ScriptManager.RegisterStartupScript  是正解~
      

  10.   

    Magic_YJL 的代码是正确的。谢谢。