欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

asp.net Datalist控件实现分页功能

程序员文章站 2022-05-03 08:11:27
...
在.aspx页面里的代码
<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='<%#"Show.aspx?iname="+Eval("iname")%>'><img src='upimage/<%#DataBinder.Eval(Container.DataItem,"iname") %>' 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>

在.aspx.cs页面里

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(); 
}

更多asp.net Datalist控件实现分页功能相关文章请关注PHP中文网!