Asp.Net'te Verileri Sayfalama Örneği 1

Asp.net'te verilerimizi sayfalama için çeşitli eklentiler ve yöntemler mevcut. Projelerimde/çalışmalarımda kullandığım sayfalama örneğini veriyorum. İlerleyen zamanlarda MsSQL, MySQL ve Access'te nasıl kullanılacağını anlatacağım.

Sayfalamayı sağlayan kodlarımız
    public String clsSayfalama(String parAdres_Satiri, Int32 parGecerli_Sayfa, Int32 parToplam_Icerik)
    {
        Int32 intSayfa_Alt_Siniri;
        Int32 intSayfa_Ust_Siniri;
        Int32 intSol_Grup_Sayisi;
        Int32 intSag_Alt_Sinir;

        Int32 parAdet = 5;

        float fltSayfa_Sayisi = (float)parToplam_Icerik / parAdet;
        Int32 intSayfa_Sayisi = (Int32)parToplam_Icerik / parAdet;
        String strSayfa_Sayisi = fltSayfa_Sayisi.ToString();

        if (strSayfa_Sayisi.IndexOf(",", 0) > -1 || strSayfa_Sayisi.IndexOf(".", 0) > -1)
        {
            intSayfa_Sayisi += 1;
        }

        String strDonen_Deger = "<div class=\"sayfalama_kapsul\">";

        if (parGecerli_Sayfa <= intSayfa_Sayisi)
        {
            Int32 intSayfa_Araligi = 2;

            intSayfa_Alt_Siniri = parGecerli_Sayfa - intSayfa_Araligi;
            intSayfa_Ust_Siniri = parGecerli_Sayfa + intSayfa_Araligi;
            intSol_Grup_Sayisi = 1 + intSayfa_Araligi;
            intSag_Alt_Sinir = intSayfa_Sayisi - intSayfa_Araligi;

            //Adım 1
            if (intSayfa_Ust_Siniri > intSayfa_Sayisi)
            {
                intSayfa_Alt_Siniri = intSayfa_Sayisi - (2 * intSayfa_Araligi);
                intSayfa_Ust_Siniri = intSayfa_Sayisi;
            }

            //Adım 2
            if (intSayfa_Alt_Siniri <= 0)
            {
                intSayfa_Alt_Siniri = 1;
                intSayfa_Ust_Siniri = intSayfa_Alt_Siniri + (2 * intSayfa_Araligi);
                if (intSayfa_Ust_Siniri >= intSayfa_Sayisi)
                {
                    intSayfa_Ust_Siniri = intSayfa_Sayisi;
                }
            }

            //Adım 3
            if (intSol_Grup_Sayisi >= intSayfa_Alt_Siniri)
            {
                intSol_Grup_Sayisi = intSayfa_Alt_Siniri - 1;
            }

            //Adım 4
            if (intSag_Alt_Sinir <= intSayfa_Ust_Siniri)
            {
                intSag_Alt_Sinir = intSayfa_Ust_Siniri + 1;
            }

            //Adım 5
            if (parGecerli_Sayfa > 1)
            {
                strDonen_Deger += "<a href=\"" + parAdres_Satiri + "1\" title=\"İlk Sayfa\">[«]</a>";
                Int32 intOnceki_Sayfa = parGecerli_Sayfa - 1;
                strDonen_Deger += "<a href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + intOnceki_Sayfa + "\" title=\"Önceki Sayfa\">[««]</a>";
            }

            //Adım 6
            for (Int32 i = 1; i < intSol_Grup_Sayisi + 1; i++)
            {
                if (i == parGecerli_Sayfa)
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" class=\"secili\">" + i + "</a>";
                }
                else
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + i + "\">" + i + "</a>";
                }
            }

            //Adım 7
            if (intSayfa_Alt_Siniri - intSol_Grup_Sayisi > 1)
            {
                strDonen_Deger += "<a>. . .</a>";
            }

            //Adım 8
            for (Int32 i = intSayfa_Alt_Siniri; i < intSayfa_Ust_Siniri + 1; i++)
            {
                if (i == parGecerli_Sayfa)
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" class=\"secili\">" + i + "</a>";
                }
                else
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + i + "\">" + i + "</a>";
                }
            }

            //Adım 9
            if (intSag_Alt_Sinir - intSayfa_Ust_Siniri > 1)
            {
                strDonen_Deger += "<a>. . .</a>";
            }

            //Adım 10
            for (Int32 i = intSag_Alt_Sinir; i < intSayfa_Sayisi + 1; i++)
            {
                if (i == parGecerli_Sayfa)
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" class=\"secili\">" + i + "</a>";
                }
                else
                {
                    strDonen_Deger += "<a title=\"" + i + ". Sayfa\" href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + i + "\">" + i + "</a>";
                }
            }

            //Adım 11
            if (parGecerli_Sayfa != intSayfa_Sayisi)
            {
                Int32 intSonraki_Sayfa = parGecerli_Sayfa += 1;
                strDonen_Deger += "<a href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + intSonraki_Sayfa + "\" title=\"Sonraki Sayfa\">[»]</a>";
                strDonen_Deger += "<a href=\"" + parAdres_Satiri + "&gecerli_sayfa=" + intSayfa_Sayisi + "\" title=\"En Son Sayfa\">[»»]</a>";
            }
        }
        strDonen_Deger += "</div>";
        return strDonen_Deger;
    }
CSS kısmı
.sayfalama_kapsul{margin:3px 0px;}
.sayfalama_kapsul a{display:inline-block;float:left;padding:1px 4px;margin-right:1px;font-size:11px;background:#353C44;color:#fff !important;text-decoration:none;letter-spacing:1px;border-radius:3px;}
.sayfalama_kapsul a:hover{background:#9A0124;color:#fefefe;}
.sayfalama_kapsul a.secili{background:#9A0124;color:#fefefe !important;}
Default.aspx adlı sayfamızın içeriği
<asp:Literal ID="ltrSayfalama" runat="server"></asp:Literal>
Default.aspx.cs adlı sayfamızın içeriği
ltrSayfalama.Text = clsSayfalama("?islem=icerikler", 3, 50);
Sonuç olarak
Örnek
Asp.Net'te Verileri Sayfalama Örneği 1

Yorumlar

Henüz hiçbir yorum yazılmamış. İlk yorumu siz yapın.

Yorum Yaz

Avatar

REKLAM

DDos Koruma, Botnet Koruma, Layer 7 Saldırı koruması, Sanal sunucu, Vds sunucu

REKLAM

Çizgi Filmler

EN

  • Popüler
  • Yeni
  • Son Yorum