Heim >Backend-Entwicklung >C#.Net-Tutorial >Das asp.net Datalist-Steuerelement implementiert die Paging-Funktion

Das asp.net Datalist-Steuerelement implementiert die Paging-Funktion

高洛峰
高洛峰Original
2017-01-10 14:07:492130Durchsuche

Der Code auf der .aspx-Seite

<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>

Auf der .aspx.cs-Seite

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

Weitere Artikel im Zusammenhang mit dem asp.net Datalist-Steuerelement, das die Paging-Funktion implementiert Bitte achten Sie auf die chinesische PHP-Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn