在前台,放了个div,里面有个gridview,在后天当绑定gridview时(非page_load下),用clientscript.registerstartupscipt("gettype(),"",showdiv()),showdiv()是前台的javascript代码,用了指示div的属性为none , 虽然运行了clientscript.registerstartupscipt,但前台showdiv没有运行,即没数据时,div仍然显示,为什么?该怎么做才能使div有数据时显示,没数据时隐藏??

解决方案 »

  1.   

    检查下 前台到底有没有输出 你要输出的 JS代码。 如果有就是JS的问题 如果没有就是 绑定gridview时调用clientscript.registerstartupscipt的问题。试着把 clientscript.registerstartupscipt 把他放到
    private void gridview_PreRender(object sender, System.EventArgs e)
    {clientscript.registerstartupscipt("gettype(),"",showdiv());}
    在gridview控件里加上OnPreRender="gridview_PreRender"
      

  2.   

    前台的JS代码没有问题,
    前台有个<asp:ObjectDataSource ID="ObjectDataSourceInfo" runat="server" SelectMethod="GetPlanData"> </asp:ObjectDataSource>
    后台代码如下:
            public DataTable GetPlanData(string txt)
              {
                  Database db = DatabaseManager.CreateDatabase(); 
                string strSql = "select three,one, two FROM [table] where ID =" + txt; 
                DataTable dt = db.ExecuteDataTable(strSql); 
                if(dt.Rows.count == 0) 
                  {
                     clientscript.registerstartupscipt("gettype(),"",showdiv());
                } 
              }
      是否有什么问题??
      

  3.   

    page.ClientScript.RegisterStartupScript(this.GetType(), "abc", "showdiv()", true);
      

  4.   


    string alertStr = "The error occurred as:" + erorlog;
    alertStr = "<script type='text/javascript'> alert(' " + alertStr + " ');</script>";
    ClientScript.RegisterStartupScript(typeof(string), "abc", alertStr);
    试过,不应该有问题.
    还可是这样:
                        ClientScriptManager cs =  this.ClientScript; 
                        cs.RegisterStartupScript(typeof(string), "abc", alertStr);
    这两个办法都能通过.