ホームページ > バックエンド開発 > C#.Net チュートリアル > asp.net データリスト コントロールはページング機能を実装します

asp.net データリスト コントロールはページング機能を実装します

高洛峰
リリース: 2017-01-10 14:07:49
オリジナル
2121 人が閲覧しました

.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 中国語 Web サイトに注目してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート