这个是一个GridView里面编辑的一个链接,   当在第一页点击编辑的时候会出现调用的这个CssClass="greybox" 这个效果,但是只要点击下一页,或者在其他第2、3···页这个效果就出不来了,只有在第一页这个效果可以出来,何解????这个是编辑: <asp:TemplateField>
   <ItemTemplate>
     <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("id", "DetailCL_6_1.aspx?id={0}") %>'
          Text="编辑" OnLoad="HyperLink1_Load" CssClass="greybox"></asp:HyperLink>
   </ItemTemplate>
 </asp:TemplateField>
我想代码应该不会有问题,想不通的是第一页可以显示,其他页为什么不行呢?  而且都是在一个GridView里面的数据,第二页只不过是查询的数据不一样了····但是就是第一页显示鲜果,其他的都没有效果···· 就解····

解决方案 »

  1.   

    你的CSS样式表是怎么引入的,是在页面代码的 !IsPostBack 里注册的?
      

  2.   


    页面引入的,····  <link href="js/greybox.css" rel="stylesheet" type="text/css" media="all" />
        <script type="text/javascript" src="js/greybox.js"></script>    <script type="text/javascript">
          var GB_ANIMATION = true;
          $(document).ready(function(){
            $("a.greybox").click(function(){
              var t = this.title || $(this).text() || this.href;
              GB_show(t,this.href,400,400);
              return false;
            });
          });
        </script>
      

  3.   

    引入后下面点击编辑的时候调用的···
    <asp:TemplateField>
       <ItemTemplate>
         <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# Eval("id", "DetailCL_6_1.aspx?id={0}") %>'
              Text="编辑" OnLoad="HyperLink1_Load" CssClass="greybox"></asp:HyperLink>
       </ItemTemplate>
     </asp:TemplateField>
      

  4.   

    那你在点击下一页的时候,页面有没有输出(Respones.Write)一些在第1页中没有的数据?
      

  5.   


    点击下一页什么操作基本都没,/// <summary>
        /// 点击下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lnkbtnNext_Click(object sender, EventArgs e)
        {
            if (this.gv.PageIndex < this.gv.PageCount)
            {
                this.gv.PageIndex = this.gv.PageIndex + 1;
                bind();
            }
        }就是调用自带的方法进行分页····
      

  6.   


     第一页的效果都出来了,我想第二页只是数据变了,但是还是在一个GridView里面,为什么点击编辑效果不出来了呢···
      

  7.   

    GridView自带的分页方法····/// <summary>
        /// 点击下一页
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void lnkbtnNext_Click(object sender, EventArgs e)
        {
            if (this.gv.PageIndex < this.gv.PageCount)
            {
                this.gv.PageIndex = this.gv.PageIndex + 1;
                bind();
            }
        }
      

  8.   

    如果是的话,你得想办法让这段代码执行一下
    <script type="text/javascript">
            $("a.greybox").click(function(){
              var t = this.title || $(this).text() || this.href;
              GB_show(t,this.href,400,400);
              return false;
            }
        </script>
      

  9.   


    不好意思 忘了给你说··· 在updatePanel里面有这个问题, 去掉就有问题了····
      

  10.   

           <asp:TemplateField HeaderText="删除">
                        <ItemTemplate>
                           <a href='folicsubsidy_sheng.aspx?uid=<%# Eval("FB_ID")%>' onclick="return confirm('确定要删除吗?')" >删除</a>
                        </ItemTemplate>
                        <HeaderStyle BackColor="#92DCFF" />
                        <ItemStyle BackColor="#DEF0FC" />
                    </asp:TemplateField>这个类似不行吗?
      

  11.   

    在updatePanel里面有这个问题, 去掉就没问题了····
      

  12.   

    嗯,因为你的js注册是在document.ready事件中的,所以你在ajax后,要想办法 再调用下那个ready中的js代码,这样就可以实现了。
      

  13.   


    你发这个是什么意思,不明白
    你可能不明白我是怎么回事·········问题是:在updatePanel里面,当在第一页的时候,点击编辑,调用的JS效果出现, 但是点击第二页,或者其他页,也就是点击下一页后,点击编辑,调用的JS效果就不出现了,是这么回事···
      

  14.   

    在bind()后,加句Response.Write("<script>你的js代码</script>")试试
      

  15.   


    要是像这样说,那意思就是这样了:
    输出这段代码?    <script type="text/javascript">
          var GB_ANIMATION = true;
          $(document).ready(function(){
            $("a.greybox").click(function(){
              var t = this.title || $(this).text() || this.href;
              GB_show(t,this.href,400,400);
              return false;
            });
          });
        </script>
    也就是: public void bind() 
        {
            string scripts = "var GB_ANIMATION = true;" +
                                    "$(document).ready(function(){" +
                                     "$('a.greybox').click(function(){" +
                                     "var t = this.title || $(this).text() || this.href;" +
                                     "GB_show(t,this.href,400,400);" +
                                     "return false;" +
                                     "});" +
                                     "});";
            BLL.CL_6_1BLL.GetList();
            gv.DataBind();
            Response.Write("<script>+"+scripts+"+</script>");
      }这样后点下一页 下一页都没反映了,再加上,第一页点击编辑明显出现2次,而且样子都改变了···悲剧啊····
      

  16.   


     public void bind() 
        {
            string scripts = "var GB_ANIMATION = true;" +
                                      "$('a.greybox').click(function(){" +
                                     "var t = this.title || $(this).text() || this.href;" +
                                     "GB_show(t,this.href,400,400);" +
                                     "return false;" +
                                     "});" +
            BLL.CL_6_1BLL.GetList();
            gv.DataBind();
            Response.Write("<script>+"+scripts+"+</script>");
      }把那个ready去了,这样再试试
      

  17.   

    哦,那就不清楚了,应该updatePanel应该有事件吧,比如onComplete之类的,你找找看,我没用过updatepanel,晚上回去我翻翻书去。
      

  18.   


    JS已经弄好了 ,但是问题是:在updatePanel里面,当在第一页的时候,点击编辑,调用的JS效果出现, 但是点击第二页,或者其他页,也就是点击下一页后,点击编辑,调用的JS效果就不出现了,是这么回事···
      

  19.   

    几天了,还没解决这个问题,现在这样弄:    在网上找了找后台调用前天JS代码如下:    private void bindCSS() {
            HtmlLink link1 = new HtmlLink();   //这里是使用css文件的方法
            link1.Href = "js/greybox.css"; //这是css文件的路径
            link1.Attributes.Add("rel", "stylesheet");
            link1.Attributes.Add("type", "text/css");
            Page.Header.Controls.Add(link1);        HtmlGenericControl h1 = new HtmlGenericControl(); //这是使用js文件的用法
            h1.Attributes.Add("type", "text/javascript");
            h1.Attributes.Add("src", "js/greybox.js"); //js文件的路径
            Page.Header.Controls.Add(h1);
      } 网上找基本都是这种,但是调用后,点击第二页的时候还是不能正常调用CSS和JS····求高手给点思路,想想办法······ 万分感谢······
      

  20.   

    这个是重新发的帖子
    http://topic.csdn.net/u/20101126/10/4af1e86f-6321-4d0b-ad8e-8deb131c099d.html?60702