protected void DataListStudent_ItemCreated(object sender, DataListItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Footer)
        {
            int studentsCount = studentBLL.GetStudentNumber();
            int countPage = 0;
            if (studentsCount % 3 == 0)
            {
                countPage = studentsCount / 3;
            }
            else
            {
                countPage = studentsCount / 3 + 1;
            }
            PlaceHolder pl = new PlaceHolder();
            e.Item.Controls.Add(pl);
            for (int i = 1; i <= countPage; i++)
            {
                LinkButton lb = new LinkButton();
                lb.Text = i.ToString();
                lb.Click += new EventHandler(lb_Click);                if (i == Convert.ToInt32(ViewState["page"]))
                {
                    lb.Enabled = false;
                }
                pl.Controls.Add(lb);
                
            }
        }
    }该段代码的Click事件的激发    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        if (e.Item.ItemType== ListItemType.AlternatingItem||e.Item.ItemType== ListItemType.Item)
        {
            ((Label)e.Item.FindControl("Label1")).Text = userBLL.GetUserNameByUserId(((Articles)e.Item.DataItem).ArthorId);
            ((HyperLink)e.Item.FindControl("HyperLink1")).Text = ((Articles)e.Item.DataItem).Title;
            ((HyperLink)e.Item.FindControl("HyperLink1")).NavigateUrl = "Article.aspx?id=" + ((Articles)e.Item.DataItem).Id.ToString();
        }
        if (e.Item.ItemType== ListItemType.Footer)
        {
            Table table = (Table)e.Item.FindControl("Table1");
            TableRow row = new TableRow();
            TableCell cell;
            for (int i = 0; i < length; i++)
            {
                cell = new TableCell();
                cell.Width = 10;
                LinkButton lb = new LinkButton();
                lb.Text = i.ToString();
                lb.Click += new EventHandler(lb_Click);
                cell.Controls.Add(lb);
            }
            row.Cells.Add(cell);
            table.Rows.Add(row);
        }
    }该段代码的Click事件没激发这是为什么吗,有高手能解答一下吗?

解决方案 »

  1.   

    上面的代码中加入lb.CommandName="XXXXX";DataList的做法一样
    public   void   OnClick(object   source,RepeaterCommandEventArgs   e)  
      {  
      if(e.CommandName=="XXXX")  
      {  
      //do   something   here  
      }   
      

  2.   

    <asp:Repeater   id="Repeater1"   OnItemCommand="OnClick">  
      <ItemTemplage>  
        
      </ItemTemplage>  
      </asp:Repeater>   
      

  3.   


    OnClick事件是直接绑定在控件上的吧,不用判断吧
      

  4.   

    如果要这样的话,请将 DataListStudent_ItemCreated 函数 放到 Page_Load 执行 。
      

  5.   

    你的lb_Click事件处理方法在哪里