Previous/Next navigation : Workaround

Previous/Next navigation : Workaround

offline
  • Pridružio: 18 Apr 2003
  • Poruke: 8134
  • Gde živiš: U kesici gumenih bombona...

Videli ste na nekim sajtovima Prethodni/Naredni linkove za prelazak sa srtane na stranu.
Negde su to brojevi pa mozete da idete direktno na stranicu koju zelite, ovde se sve desava sekvencijalno.
Posto je meni bas to sekvencijalno trebalo, napisao sam jednu f-ju koja radi upravo to...

Da bi je koristili za vase potrebe, poterbno je da izmenite SQL upit i mozda jos neke sitnice (ili da nista ne menjate, a da sve nazovete kako sam i ja nazvao Smile).

Ova f-ja se oslanja na ovu klasu

public void DisplayNavigation()       {          const int pageSize = 7; // Broj zapisa po strani          int currentPage = Convert.ToInt32(Request.QueryString["Page"]); // Tekuca strana          string pageName = Request.QueryString["PageName"];          #region Glavna strana - navigacija          if (pageName == null)          {             string RedirectPage = "Default.aspx";             MSSqlConn s = new MSSqlConn();             s.OpenConn("SELECT Count(id) AS brVesti FROM tblNews;");             s.dr.Read();                       double pageTotal = Math.Ceiling(Convert.ToInt32(s.dr["brVesti"]) / pageSize);                       s.CloseConn();             Response.Write(@"<table width='100%'  border='0' cellpadding='2' cellspacing='2'>                               <tr>");             if (Request.QueryString["Page"] == null || currentPage == 1)             {                // Posto smo na prvoj strani, nema povratka nazad.                Response.Write(@"<td width='14%' height='25'>&laquo; Previous</td>");                                Response.Write(@"<td width='72%' align='center'>Page " + currentPage + " of " + pageTotal + @" </td>");                if (pageTotal >= 2)                {                   // Kada smo na prvoj strani, mozemo ici samo napred.                   Response.Write(@"<td width='14%' align='right'><a href='" + RedirectPage + @"?Page=2' class='StandardLink'>Next &raquo; </a></td>");                }                else                {                   // Ako smo dovde dosli, znaci da smo i dalje na prvoj strani.                   Response.Write(@"<td width='14%' align='right'>Next &raquo;</td>");                }             }             else             {                // Ovde smo odmakli od pocetka.                Response.Write(@"<td width='14%' height='25'><a href='" + RedirectPage + @"?Page=" + (currentPage - 1) + "' class='StandardLink'>&laquo; </a><a href='#' class='StandardLink'>Previous</a></td>");                if (pageTotal > currentPage)                {                   Response.Write(@"<td width='14%' align='right'><a href='" + RedirectPage + @"?Page=" + currentPage + 1 + "' class='StandardLink'>Next &raquo; </a></td>");                }                else                {                   Response.Write(@"<td width='14%' align='right'>Next &raquo;</td>");                }             }             //                              <td width='14%' height='25'><a href='#' class='StandardLink'>&laquo; </a><a href='#' class='StandardLink'>Previous</a></td>             //                              <td width='72%' align='center'>Page @" + currentPage + " of " + pageTotal + @" </td>             //                              <td width='14%' align='right'><a href='#' class='StandardLink'>Next &raquo; </a></td>             Response.Write(@"</tr></table>");          }          #endregion       }

Ako imate samo 7 zapisa (za ovaj slucaj) ni Previous ni Next nece biti linkovani tj. necete moci kliknuti na njih.

Ako imate zapisa za dve strane, a vi se nalazite na prvoj, Next ce biti linkovan, a Previous nece, a ako ste na trecoj strani, a imate 10 strana, i Previous i Next ce biti linkovani. Itd. Smile

Nadam se da ce vam ovo posluziti kao sto je meni posluzilo.

if (any_questions) {      MessageBox.Show("Feel free to ask..."); }



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1039 korisnika na forumu :: 33 registrovanih, 8 sakrivenih i 998 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: _Sale, Bane san, bojank, cavatina, cemix, darkangel, DeerHunter, dragoljub11987, GandorCC, Georgius, Jakov01, Karla, Koridor, ladro, laurusri, LUDI, Mercury, milenko crazy north, milutin134, Oscar, Prašinar, predragc, Sirius, stegonosa, Stoilkovic, theNedjeljko, trajkoni018, tubular, Valter071, Vlada1389, voja64, VP6919, vukdra