ok
this is Html:
<asp:LinkButton ID="Lbview" runat="server" CssClass="pakhsh" OnClick="Lbview_Click">other ptoduct</asp:LinkButton>
<asp:Label ID="Lblname" runat="server"></Label>
<asp:datalist id="DLMostanad" runat="server" repeatdirection="Vertical" cssclass="dLmostanad" visible="false">
<ItemTemplate>
<div id="MainDL">
<div id="MainDL1">
<div id="MainDL11">
<asp:Label ID="Label3" runat="server" CssClass="lblcodeM" Text='<%# Eval("Code") %>'></asp:Label>
<asp:Label ID="Label4" runat="server" CssClass="lblnameM" Text='<%# Eval("Name") %>'></asp:Label>
</div>
</div>
</ItemTemplate>
</asp:datalist>
<asp:repeater id="rptPager3" runat="server" visible="false">
<ItemTemplate>
<asp:LinkButton ID="LinkButton3" runat="server" Text='<%#Eval("Text") %>' CommandArgument='<%# Eval("Value") %>'
CssClass='<%# Eval("CssClass") %>' OnClick="Page_ChangedPLS" OnClientClick='<%# !Convert.ToBoolean(Eval("Enabled")) ? "return false;" : "" %>'></asp:LinkButton>
</ItemTemplate>
</asp:repeater>
here is datalist with repeater that repeater contains datalist page number
and behincode:
private int PageSize = 1;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
int data1 = Convert.ToInt32(Request.QueryString["Id"].ToString());
ViewDocInfo(data1);
}
}
private void ViewDocInfo(int data1)
{
using (SqlConnection conn = General.GetConnection())
{
using (SqlCommand _cmd = General.GetCommand("Documentry_ViewMostanadInfo", conn))
{
_cmd.Parameters.AddWithValue("@id", data1);
conn.Open();
SqlDataReader _dr = _cmd.ExecuteReader();
while (_dr.Read())
{
Lblname.Text = _dr["Name"].ToString();
Lblcode.Text = _dr["code"].ToString();
}
}
}
}
private void GetCustomersPageWiseView(int pageIndex)
{
using (SqlConnection conn = General.GetConnection())
{
using (SqlCommand cmd = General.GetCommand("GetCustomersPageWiseMC", conn))
{
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
cmd.Parameters.AddWithValue("@PageSize", PageSize);
cmd.Parameters.AddWithValue("@Topic", ddlmostanad.SelectedItem.Text);
cmd.Parameters.AddWithValue("@Name", Lblname.Text);
cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4);
cmd.Parameters["@RecordCount"].Direction = ParameterDirection.Output;
conn.Open();
SqlDataReader idr = cmd.ExecuteReader();
if (idr.HasRows)
{
DLMostanad.DataSource = idr;
DLMostanad.DataBind();
rptPager3.Visible = true;
}
idr.Close();
this.PopulatePagerPLS(Convert.ToInt32(cmd.Parameters["@RecordCount"].Value), pageIndex);
}
}
}
protected void LBview_Click(object sender, EventArgs e)
{
Lblname.Visible = !((rptPager3.Visible=DLMostanad.Visible = true);
this.GetCustomersPageWiseView(1);
}
and these code are for repeater(datalist page number):
private void PopulatePagerPLS(int recordCount, int currentPage)
{
double dblPageCount = (double)((decimal)recordCount / (decimal)PageSize);
int pageCount = (int)Math.Ceiling(dblPageCount);
List<PagerPage> pages = new List<PagerPage>();
if (pageCount > 0)
{
pages.Add(new PagerPage(" اولین   ", "1", currentPage > 1, "button"));
if (pageCount < 4)
{
for (int i = 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else if (currentPage < 4)
{
for (int i = 1; i <= 4; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false, "button1"));
}
else if (currentPage > pageCount - 4)
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false, "button1"));
for (int i = currentPage - 1; i <= pageCount; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
}
else
{
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
for (int i = currentPage - 2; i <= currentPage + 2; i++)
{
pages.Add(new PagerPage(i.ToString(), i.ToString(), i != currentPage));
}
pages.Add(new PagerPage("...", (currentPage).ToString(), false));
}
pages.Add(new PagerPage(" آخرین  ", pageCount.ToString(), currentPage < pageCount, "button"));
}
rptPager3.DataSource = pages;
rptPager3.DataBind();
}
protected void Page_ChangedPLS(object sender, EventArgs e)
{
int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
this.GetCustomersPageWiseView(1);
}
here when I click on linkbutton(LbView) it shows datalist correctly with page number i.e below image:
in above image I show page number(with repeater) with red arrow untill now every things is ok but when I click on page number(2 or 3) it doesn't show any things it is this code:
protected void Page_ChangedPLS(object sender, EventArgs e)
{
int pageIndex = int.Parse((sender as LinkButton).CommandArgument);
this.GetCustomersPageWiseView(1);
}
so I put breakpoint on GetCustomersPageWiseView and see that when I click on page number value of Lblname.Text is "" (nothing) becuse when I click on lbview button it will be Lblname.Text=false but I need Lblname.Text value in GetCustomersPageWiseView metod so when page is run before I click on LbView (linkbutton) I should save Lblname.text in some place to use it in GetCustomersPageWiseView metod
I hope can explain clearly
best regards
neda