Home  >  Article  >  Backend Development  >  asp.net Datalist control implements paging function

asp.net Datalist control implements paging function

高洛峰
高洛峰Original
2017-01-10 14:07:492104browse

The code in the .aspx page

<asp:DataList ID="DataList1" runat="server" Width="976px" Height="745px" BorderWidth="2px" CellPadding="2" CellSpacing="2" RepeatColumns="7" RepeatDirection="Vertical" BorderColor="#666666"> 
<ItemTemplate > 
<table > 
<tr> 
<td > 
<a href=&#39;<%#"Show.aspx?iname="+Eval("iname")%>&#39;><img src=&#39;upimage/<%#DataBinder.Eval(Container.DataItem,"iname") %>&#39; width="120" alt="点击查看大图"/></a> 
</td> 
</tr> 
</table> 
</ItemTemplate> 
</asp:DataList><asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:S601ConnectionString %>" SelectCommand="SELECT [iname] FROM [Image]" ></asp:SqlDataSource> 
<table style="width: 976px" cellpadding="0" cellspacing="0"> 
<tr> 
<td style="width:976px; text-align: right; font-size:12pt; height:25px;"> 
<asp:Label ID="Label7" runat="server" Text="当前页码为:"></asp:Label> 
[ 
<asp:Label ID="labPage" runat="server" Text="1"></asp:Label> 
 ] 
<asp:Label ID="Label6" runat="server" Text="总页码为:"></asp:Label> 
[ 
<asp:Label ID="labBackPage" runat="server"></asp:Label> 
 ]<asp:LinkButton ID="lnkbtnOne" runat="server" Font-Underline="False" ForeColor="Red" 
OnClick="lnkbtnOne_Click">第一页</asp:LinkButton> 
<asp:LinkButton ID="lnkbtnUp" runat="server" Font-Underline="False" ForeColor="Red" 
OnClick="lnkbtnUp_Click">上一页</asp:LinkButton> 
<asp:LinkButton ID="lnkbtnNext" runat="server" Font-Underline="False" ForeColor="Red" 
OnClick="lnkbtnNext_Click">下一页</asp:LinkButton>  
<asp:LinkButton ID="lnkbtnBack" runat="server" Font-Underline="False" ForeColor="Red" 
OnClick="lnkbtnBack_Click">最后一页</asp:LinkButton>  </td> 
</tr> 
</table>

In the .aspx.cs page

protected void Page_Load(object sender, EventArgs e) 
{ 
dlBind(); 

} 
public void dlBind() 
{ 
SqlConnection sqlcon; 
string strCon = "Data Source=(local);Database=S601;Uid=sa;Pwd=123456"; 
int curpage = Convert.ToInt32(this.labPage.Text); 
PagedDataSource ps = new PagedDataSource(); 
sqlcon = new SqlConnection(strCon); 
sqlcon.Open(); 
string sqlstr = "SELECT [iname],iid FROM [Image]"; 
SqlDataAdapter MyAdapter = new SqlDataAdapter(sqlstr, sqlcon); 
DataSet ds = new DataSet(); 
MyAdapter.Fill(ds, "iid"); 
ps.DataSource = ds.Tables["iid"].DefaultView; 
ps.AllowPaging = true; //是否可以分页 
ps.PageSize = 35; //显示的数量 
ps.CurrentPageIndex = curpage - 1; //取得当前页的页码 
this.lnkbtnUp.Enabled = true; 
this.lnkbtnNext.Enabled = true; 
this.lnkbtnBack.Enabled = true; 
this.lnkbtnOne.Enabled = true; 
if (curpage == 1) 
{ 
this.lnkbtnOne.Enabled = false;//不显示第一页按钮 
this.lnkbtnUp.Enabled = false;//不显示上一页按钮 
} 
if (curpage == ps.PageCount) 
{ 
this.lnkbtnNext.Enabled = false;//不显示下一页 
this.lnkbtnBack.Enabled = false;//不显示最后一页 
} 
this.labBackPage.Text = Convert.ToString(ps.PageCount); 
this.DataList1.DataSource = ps; 
this.DataList1.DataKeyField = "iid"; 
this.DataList1.DataBind(); 
sqlcon.Close(); 
} 
protected void lnkbtnOne_Click(object sender, EventArgs e) 
{ 
this.labPage.Text = "1"; 
this.dlBind(); 
} 
protected void lnkbtnUp_Click(object sender, EventArgs e) 
{ 
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) - 1); 
this.dlBind(); 
} 
protected void lnkbtnNext_Click(object sender, EventArgs e) 
{ 
this.labPage.Text = Convert.ToString(Convert.ToInt32(this.labPage.Text) + 1); 
this.dlBind(); 
} 
protected void lnkbtnBack_Click(object sender, EventArgs e) 
{ 
this.labPage.Text = this.labBackPage.Text; 
this.dlBind(); 
}

For more articles related to the asp.net Datalist control implementing the paging function, please pay attention to the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn