public event EventHandler ButtonClick;
        
        public int CurrentPage { get { if (ViewState["Page"] == null) { return 1; } return (int)ViewState["Page"]; } set { ViewState["Page"] = value; } }
        public int RecCount { get { if (ViewState["RecCount"] == null) { return 0; } return (int)ViewState["RecCount"]; } set { ViewState["RecCount"] = value; } }
        public int PageSize { get { if (ViewState["PageSize"] == null) { return 20; } return (int)ViewState["PageSize"]; } set { ViewState["PageSize"] = value; } }
        public int PageCount { get { if (ViewState["PageCount"] == null) { return 0; } return (int)ViewState["PageCount"]; } set { ViewState["PageCount"] = value; } }
        public int FlagGo { get { if (ViewState["FlagGo"] == null) { return 0; } return (int)ViewState["FlagGo"]; } set { ViewState["FlagGo"] = value; } }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                #region
                
                PagerBind();
                #endregion
            }
           
        }
自己搞了一个pager.ascx用来分页,原来不使用动态生成linkbutton,直接用linkbutton分页和执行都没有问题
现在在ascx中添加了一个panel,之后使用
this.Panel2.Controls.Clear();
            foreach (DictionaryEntry de in hs)
            {
                LinkButton TempLinkButton = new LinkButton();
                TempLinkButton.CommandArgument = de.Key.ToString();
                TempLinkButton.Text = de.Value.ToString();
                TempLinkButton.ID = "PagerLinkButton_" + de.Key.ToString();
                TempLinkButton.Click += new EventHandler(JumpPage); ;
                this.Panel2.Controls.Add(TempLinkButton);
            }
添加控件,现在控件也有显示出来了。但是点控件之后这些动态生成的按钮就全部消失了。没有执行分页方法
protected void JumpPage(object sender, System.EventArgs e) 
        {            LinkButton lb = (LinkButton)sender;
            int _Page = Common.Commons.ToInt32(lb.CommandArgument, 0);
            Response.Write(_Page.ToString());
            CurrentPage = _Page;
            PagerBind();
            if (ButtonClick != null)
            {
                ButtonClick(this, EventArgs.Empty);
            }
        }引用页面:
<%@ Register src="../Ctrl/Pager.ascx" tagname="Pager" tagprefix="uc1" %>
      <uc1:Pager ID="Pager1" runat="server"  OnButtonClick="ButtonClick" />protected void ButtonClick(object sender, EventArgs e)
        {            BindData();
            this.Pager1.PagerBind();
        }

解决方案 »

  1.   


    总结一句就是我在ascx中动态生成的linkbutton,点击的时候无效
      

  2.   


    你单步跟一下吧good luck
      

  3.   

    我在ASPX页面另外一个页面中也用了。那个页面是没问题的。那个页面是动态生成表格。在表格里面动态插入linkbutton的
      

  4.   

    你在UserControl里面在调用一个EventHandler好像不行。
    如果直接在aspx页面里面的话应该没问题。拿出来试试。
    实在不行不要用EventHandler了