0
我試圖創建一個客戶中繼器分頁和伴隨控制例如, Next Prev按鈕。自定義中繼器控制分頁和頁面導航控件
到目前爲止,我已經有了分頁數據的自定義轉發器,並且我可以讓它呈現導航按鈕,但我無法將事件分配給導航LinkButtons。
這裏的自定義Repeater類:
using System.Web.UI.WebControls;
using System.Web.UI;
using System.Data;
using System.Collections;
using System;
namespace ASPresentation.Controls
{
[ToolboxData("<cc:PagedRepeater runat=server></cc:PagedRepeater>")]
public class PagedRepeater : Repeater
{
public int PageSize { get; set; }
public int CurrentPageIndex { get; set; }
public PagedDataSource pagedData = new PagedDataSource();
LinkButton NextBtn = new LinkButton();
LinkButton PrevBtn = new LinkButton();
public bool IsLastPage
{
get
{
return pagedData.IsLastPage;
}
}
public bool IsFirstPage
{
get
{
return pagedData.IsFirstPage;
}
}
public override object DataSource
{
get
{
return base.DataSource;
}
set
{
pagedData.DataSource = (IEnumerable)value;
}
}
protected void NextButtonClick(object sender, EventArgs e)
{
if (!IsLastPage)
{
CurrentPageIndex++;
}
}
protected void PrevButtonClick(object sender, EventArgs e)
{
if (!IsFirstPage)
{
CurrentPageIndex--;
}
}
protected override void OnInit(EventArgs e)
{
NextBtn.Text = "Next";
PrevBtn.Text = "Prev";
NextBtn.Click += new EventHandler(NextButtonClick);
PrevBtn.Click += new EventHandler(PrevButtonClick);
base.OnInit(e);
}
protected override void Render(HtmlTextWriter writer)
{
base.Controls.Add(PrevBtn);
base.Controls.Add(NextBtn);
base.Render(writer);
}
public override void DataBind()
{
pagedData.AllowPaging = true;
pagedData.PageSize = PageSize;
pagedData.CurrentPageIndex = CurrentPageIndex;
base.DataSource = pagedData;
base.DataBind();
}
}
}
任何人有什麼想法?
我們需要查看中繼器和按鈕標記以提供幫助。 – Oded 2009-12-24 12:12:12
沒有任何,它的全部在該類中生成。 – Morgeh 2009-12-24 13:27:49
ASP.NET中的Repeater和其他網格選項有什麼問題?隨着頁面的DataPager控件? – 2009-12-24 15:53:24