Evet Bazen asp.net de datalistlerde paging yapmak izdırab olabilir ama eger dinamik içerikli ve resimleri simetrik olmayan yanı sıralama gerektıren bir listelemeniz var ise bu control işimize yarayabilir.
Öncelikle database de urunler tablosu ıcıne
urunadı – urunresmi – page – order field lerini içeren bir tablo olusturalım
daha sonra bir ascx içine datalistimizi page fieldına gore gruplayıp cekelim böylece eklemek istediğiniz kadar sayfa otomatik olarak page controle eklenecektir.
%@ Control Language="C#" AutoEventWireup="true" CodeFile="Page_Control.ascx.cs" Inherits="ascx_Page_Control" %>
evet hyperlink kısmımız tahmin edebileceğiniz gibi 1 2 3 4 gıbı sayfaların image larını ıcermekte.
daha sonra page_control.aspx.cs dosyasında
protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) { HyperLink hl = ((HyperLink)e.Item.FindControl("hl")); int count = DataList1.Items.Count; //if(Request.QueryString["page"]) int item = e.Item.ItemIndex; int i = item + 1; if (e.Item.ItemIndex == Convert.ToInt32(Request.QueryString["page"]) - 1) { hl.ImageUrl = "../images/button/" + item + "_h.gif"; } hl.NavigateUrl = "../Default.aspx?page=" + i; }
burada eğer default.aspx de Request.QueryString[“page”] yok ise direk olarak 1 e yonlendırılecektir.
default.aspx de ise şöyle bir alicengiz olayı yapmamız gerekecektır.
protected void Page_Load(object sender, EventArgs e) { if (Request.QueryString["page"] == null) { Response.Redirect("Default.aspx?page=1"); } }