我该怎么用Repeater控件去用它?
这是分页的用户控件using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class controls_PageMap : System.Web.UI.UserControl
{
    public delegate void PageIndexClickHandler(int PageIndex, object sender, EventArgs e);
    public event PageIndexClickHandler PageIndexClick;    private int _PageIndex = 0;
    private int _MaxPageCount = 10;
    private int _PageCount = 0;    protected void Page_Load(object sender, EventArgs e)
    {
        //if (!IsPostBack)
        this.GeneratePageIndexLink();
    }    public int MaxPageCount
    {
        set
        {
            this._MaxPageCount = value;
        }        get
        {
            return this._MaxPageCount;
        }
    }    public int PageCount
    {
        set
        {
            this._PageCount = value;
            this.GeneratePageIndexLink();
        }        get
        {
            return this._PageCount;
        }
    }    public int PageIndex
    {
        set
        {
            this._PageIndex = value;
            this.GeneratePageIndexLink();
        }        get
        {
            return this._PageIndex;
        }
    }    private void GeneratePageIndexLink()
    {
        if (this._PageIndex <= 0)
            this._PageIndex = 1;
        if (this._PageIndex > this._PageCount)
            this._PageIndex = this._PageCount;
        LinkButton lbtn;
        Label lblSep;        if (this._PageCount > 1)
        {
            lbl4ToPageNum.Controls.Clear();
            int p;
            if (this._PageIndex == 1)
                p = 0;
            else
                p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);            // To First Page
            if (this._PageIndex > 1)
                lnk4ToFirstPage.Enabled = true;
            else
                lnk4ToFirstPage.Enabled = false;            // To Last Page
            if (this._PageIndex < this._PageCount)
                lnk4ToLastPage.Enabled = true;
            else
                lnk4ToLastPage.Enabled = false;            // To Previous Page
            if (p > 0)
                lnk4ToPreviousPage.Enabled = true;
            else
                lnk4ToPreviousPage.Enabled = false;
            lbl4ToPageNum.Controls.Clear();
            for (int i = 0; i < 10; i++)
            {
                if (p + i + 1 > this._PageCount)
                    break;
                if (p + i + 1 == this._PageIndex)
                {
                    lblSep = new Label();
                    lblSep.Text = ((int)(p + i + 1)).ToString();
                    lblSep.Style.Add("padding-left", "3px");
                    //lblSep.CssClass = "PageMap_pageIndex";
                    //strHtml += "<span class='pageIndex'>" + (p + i + 1) + "</span>";
                    lbl4ToPageNum.Controls.Add(lblSep);
                }
                else
                {
                    lbtn = new LinkButton();
                    //lbtn.CssClass = "PageMap_pageIndexlnk";
                    lbtn.ID = "PageIdx_"+((int)(p + i + 1)).ToString().Trim();
                    lbtn.Click += new EventHandler(lnk4ToPageIndex_Click);
                    lbtn.Text = ((int)(p + i + 1)).ToString();
                    lbl4ToPageNum.Controls.Add(lbtn);
                    //strHtml += "<a Class='pageIndexlnk' href='result.aspx?this._PageIndex=" + (p + i + 1) + "'>" + (p + i + 1) + "</a>";
                    //strHtml += "<a Class='pageIndexlnk' href='javascript:ChangePage(" + (p + i + 1) + ")'>" + (p + i + 1) + "</a>";
                }
            }
            if (p + 10 < this._PageCount)
                lnk4ToNextPage.Enabled = true;
            else
                lnk4ToNextPage.Enabled = false;
        }
        else
        {
            //lnk4ToFirstPage.Enabled = false;
            //lnk4ToLastPage.Enabled = false;
            lnk4ToFirstPage.Visible = false ;
            lnk4ToLastPage.Visible = false;
            lnk4ToPreviousPage.Visible = false;
            lnk4ToNextPage.Visible = false;
            lnk4PageContainer.Visible = false;
        }
        string spt = this.Request.ApplicationPath + "/App_Themes/" + this.Page.StyleSheetTheme + "/images/";
        this.Img4ToFirstPage.ImageUrl = lnk4ToFirstPage.Enabled ? spt + "arrow_left_end.gif" : spt + "arrow_left_end_grey.gif";
        this.Img4ToPreviousPage.ImageUrl = lnk4ToPreviousPage.Enabled ? spt + "arrow_left.gif" : spt + "arrow_left_grey.gif";
        this.Img4ToNextPage.ImageUrl = lnk4ToNextPage.Enabled ? spt + "arrow_rt.gif" : spt + "arrow_rt_grey.gif";
        this.Img4ToLastPage.ImageUrl = lnk4ToLastPage.Enabled ? spt + "arrow_rt_end.gif" : spt + "arrow_rt_end_grey.gif";
    }    protected void lnk4ToFirstPage_Click(object sender, EventArgs e)
    {
        this._PageIndex = 1;
        this.GeneratePageIndexLink();
        if (this.PageIndexClick != null)
            this.PageIndexClick(this._PageIndex, this, e);
    }    protected void lnk4ToPreviousPage_Click(object sender, EventArgs e)
    {
        int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
        this._PageIndex = p - 9;
        this.GeneratePageIndexLink();
        if (this.PageIndexClick != null)
            this.PageIndexClick(this._PageIndex, this, e);
    }    protected void lnk4ToNextPage_Click(object sender, EventArgs e)
    {
        int p = this._PageIndex - ((this._PageIndex % this._MaxPageCount == 0) ? this._MaxPageCount : this._PageIndex % this._MaxPageCount);
        this._PageIndex = p + 11;
        this.GeneratePageIndexLink();
        if (this.PageIndexClick != null)
            this.PageIndexClick(this._PageIndex, this, e);
    }    protected void lnk4ToLastPage_Click(object sender, EventArgs e)
    {
        this._PageIndex = this._PageCount;
        this.GeneratePageIndexLink();
        if (this.PageIndexClick != null)
            this.PageIndexClick(this._PageIndex, this, e);
    }    protected void lnk4ToPageIndex_Click(object sender, EventArgs e)
    {
        string sid = ((LinkButton)sender).ID;
        this._PageIndex = int.Parse(sid.Split('_')[1]);
        this.GeneratePageIndexLink();
        if (this.PageIndexClick != null)
            this.PageIndexClick(this._PageIndex, this, e);
    }
}

解决方案 »

  1.   

    就一个用户控件,然后我在别的aspx页面去用。
    委托的事件?那是在引用这个控件的页面写的把。我不知道该怎么去用。
    Repeater控件用PagedDataSource绑定。
      

  2.   

    这是那个分页用户控件的界面<table border="0" cellspacing="0" cellpadding="0">
        <tr>
            <td style="padding-left:10px;text-align:right;padding-right:5px; vertical-align:bottom; height: 14px;">
                <div class="PageMap_pageIdx" runat="server" id="lnk4PageContainer">
                    <asp:LinkButton ID="lnk4ToFirstPage" runat="server" OnClick="lnk4ToFirstPage_Click"><asp:Image ID="Img4ToFirstPage" runat="server" Width="10" SkinID="PageMap_ToFirstPage" /></asp:LinkButton>
                    <asp:LinkButton ID="lnk4ToPreviousPage" runat="server" OnClick="lnk4ToPreviousPage_Click"><asp:Image ID="Img4ToPreviousPage" runat="server" SkinID="PageMap_ToPreviousPage" /></asp:LinkButton>
                    [
                    <asp:Label id="lbl4ToPageNum" runat="server"></asp:Label>
                    ]
                    <asp:LinkButton ID="lnk4ToNextPage" runat="server" OnClick="lnk4ToNextPage_Click"><asp:Image ID="Img4ToNextPage" runat="server" SkinID="PageMap_ToNextPage" /></asp:LinkButton>
                    <asp:LinkButton ID="lnk4ToLastPage" runat="server" OnClick="lnk4ToLastPage_Click"><asp:Image ID="Img4ToLastPage" runat="server" SkinID="PageMap_ToLastPage" /></asp:LinkButton>
                </div></td>
        </tr>
    </table>