Kendim geliştirmiş olduğum, sadece BlogEngine için değil, kendi asp.net projelerinize de uyarlayabileceğiniz kullanışlı bir sayfalama kontrolü olan ECPager'ı tanıtıyor olacağım.
Bildirgec okurlarının kolaylıkla tanıyabilecekleri bir sistem, çünkü aynı mantıkla çalışmakta (:
Kurulumu
Buradan veya yazının sonunda bulunan linkten indirebileceğimiz ECPager.cs dosyasını, BlogEngine projemizde "<root>\App_Code\Controls\" dizinine kopyalayalım.
Ardından "<root>\User Controls\PostList.aspx" dosyasını açıp, sayfanın en altına aşağıdaki kodu ekleyelim.
<blog:ECPager ID="ecPager" runat="server" CssClass="pager"></blog:ECPager>
Şimdi, "<root>\User Controls\PostList.aspx.cs" dosyasını açıp, sayfalama kontrolümüzün propertylerini set edelim. Bunun için PostList.aspx.cs dosyası içersinde bulunana BindPosts fonksiyonun en altına aşağıdaki kodları yazmamız yeterli olacaktır.
001private void BindPosts()
002{
003 //Var olan kodlarda bir değişiklik yapmadan
004 //Fonksiyonun en sonuna aşağıdaki kodları ekliyoruz.
005
006 ecPager.TotalRecords = visiblePosts.Count;
007 ecPager.ItemsPerPage = BlogSettings.Instance.PostsPerPage;
008 ecPager.CurrentPageIndex = page+1;
009 ecPager.LinkPageFormat = "page=";
010}
ECPager Sayfalama kontrolümüz hazır!
Opsiyonel Ayarlar
İstersek CssClass property'sinde belirtdiğimiz "pager" isimli bir class yaratıp, sayfalama kontrolümüzün style'ını değiştirebiliriz. (Aşağıdaki gibi)
.pager
{
text-align: center;
color: #777777;
font-size: 14px;
font-weight: bold;
margin-bottom: 20px;
}
.pager a
{
color: #E8A02C;
font-size: 14px;
}
BlogEngine'e ait olan eski sayfalama linklerini de yine isterseniz kaldırabilirsiniz. Bunun için PostList.aspx ve PostList.aspx.cs dosyası içersindeki gerekli yerleri silmeniz yeterli.
ECPager.rar (1,20 kb)