Design page :
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>
<%#Eval("ProductName")%>
</ItemTemplate>
</asp:Repeater>
<br />
<asp:LinkButton ID="lbPrevious" runat="server" Enabled="false">Previous page</asp:LinkButton>
<asp:LinkButton ID="lbNext" runat="server">Next page</asp:LinkButton>
code behind file
using System;
// We need these namespaces imported to work easier with database
using System.Data;
using System.Data.SqlClient;
// Here is PagedDataSource class located
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
// Returns first page by default
BindData(0);
}
}
protected void lbNext_Click(object sender, EventArgs e)
{
// Find current page
int SelectedPage = 0;
if (ViewState["SelectedPage"] != null)
SelectedPage = (int)ViewState["SelectedPage"];
// Find next page index
SelectedPage += 1;
BindData(SelectedPage);
}
protected void lbPrevious_Click(object sender, EventArgs e)
{
// Find current page
int SelectedPage = 0;
if (ViewState["SelectedPage"] != null)
SelectedPage = (int)ViewState["SelectedPage"];
// Find previous page index
SelectedPage -= 1;
BindData(SelectedPage);
}
private void BindData(int SelectedPage)
{
// Step 1: Connect to database and load data
SqlConnection conn = new SqlConnection("Your connection string goes here");
conn.Open();
DataTable dt = new DataTable();
string SqlQuery = "SELECT * FROM Products";
SqlDataAdapter da = new SqlDataAdapter(SqlQuery, conn);
da.Fill(dt);
// Step 2: Create PagedDataSource instance and set its properties
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dt.DefaultView;
pds.AllowPaging = true;
pds.PageSize = 10;
if (SelectedPage > (pds.PageCount - 1)
SelectedPage = pds.PageCount - 1;
if (SelectedPage < 0)
SelectedPage = 0;
pds.CurrentPageIndex = SelectedPage;
// Step 3: Bind PagedDataSource to Repeater and set LinkButtons' behavior
Repeater1.DataSource = pds;
if (pds.IsLastPage)
lbNext.Enabled = false;
else
lbNext.Enabled = true;
if (pds.IsFirstPage)
lbPrevious.Enabled = false;
else
lbPrevious.Enabled = true;
}
}
record loaded into control but when i press next button then next 10 record showing properly but when i want to see another next record then it shows same record.
e.g. i have 40 records in my db then first time it shows 1 to 10 record
when i press next button then it shows 11 - 20 records
again i press next button then it shows 11-20 records instead of 21-30 records
.please solve this problem?