首頁  >  文章  >  後端開發  >  asp.net Datalist控制項實作分頁功能

asp.net Datalist控制項實作分頁功能

高洛峰
高洛峰原創
2017-01-10 14:07:492104瀏覽

在.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=&#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>

在.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中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn