当前位置:编程学习 > C#/ASP.NET >>

LinkButton问题,要点击三次后才正常,求救!

1、首先从数据查询得到数据,然后对每一行数据创建一个表格中的行,其中用到了LinkButton,通过点击LinkButton后查看详细信息。问题是在页面上点击生成的LinkButton时,第一次点击没有任何反映,第二次点击整个页面刷新一下,第三次点击时,才显示详细信息,以后再点击都正常。
2、查询条件改变后,重新生成页面后,又需要再点击三次才正常。
3、使用了UpdatePanel,在点击LinkButton时,部分刷新显示详细信息的区域。
4、设置断点后,前2次点击都没有进入断点。
找了好久都没找到原因,只能在此请教了,谢谢!
代码如下:
            for (int i = 0; i < DS_Site.Tables[0].Rows.Count; i++)
            {
                newrow = new TableRow();

                newcell = new TableCell();
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderWidth = 1;
                newcell.ForeColor = Color.Red;
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderColor = System.Drawing.Color.CornflowerBlue;
                newcell.Text = DS_Site.Tables[0].Rows[i]["SiteID"].ToString();
                newrow.Cells.Add(newcell);


                newcell = new TableCell();
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderWidth = 1;
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderColor = System.Drawing.Color.CornflowerBlue;
                newcell.Text = DS_Site.Tables[0].Rows[i]["SiteNumber"].ToString();
                newrow.Cells.Add(newcell);

                newcell = new TableCell();
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderWidth = 1;
                newcell.HorizontalAlign = HorizontalAlign.Center;
                newcell.BorderColor = System.Drawing.Color.CornflowerBlue;
                LinkButton lbtn = new LinkButton();
                lbtn.Text = DS_Site.Tables[0].Rows[i]["SiteName"].ToString();               
                lbtn.ForeColor = System.Drawing.Color.RoyalBlue;
                lbtn.Font.Underline = true;             
                lbtn.Click += new EventHandler(lbtn_Click);                
                lbtn.CommandArgument = DS_Site.Tables[0].Rows[i]["SiteNumber"].ToString();
                lbtn.CommandName = DS_Site.Tables[0].Rows[i]["SiteName"].ToString();              
                
                newcell.Controls.Add(lbtn);
                newrow.Cells.Add(newcell);
                table.Rows.Add(newrow);
                ScriptManager1.RegisterAsyncPostBackControl(lbtn);
   }


--------------------编程问答-------------------- 可能你某些代码没有放到IsPostBack里面,查查^ --------------------编程问答-------------------- 都是UpdatePanel控件的问题,我没有解决的方法,除非不用UpdatePanel
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,