DOT.NET C# - stránkování gridview chyba   otázka

C#, Databáze

Zdravím všechny,

chtěl bych Vás poprosit o radu. Kamarád mne poprosil, jestli bych mu nemohl upravit web - malý eshop s knihami. Problém má v tom, že se mu na hlavní stránce vypisujou všechny produkty a stránka se mu tak načítá několik vteřin. Jelikož umím php a mysql, nabídl jsem se, že mu pomůžu. Až později jsem zjistil, že má web psaný v C#, ale řekl jsem si, že to snad nebude tak složité (představoval jsem si, že tam někam hodím LIMIT 20 a bude to).

Když jsem koukl do zdrojáku, zjistil jsem, že tam vůbec nejsou klasické select dotazy ("SELECT * FROM..."), ale úplně něco jiného. Pomocí tutoriálu jsem začal chápat základy a došel jsem k názoru, že nejjedndoušší bude u gridview nastavit AllowPaging="true" a omezit výpis na např. 20 titulů. Zkompiloval jsem to, načítá se 20 titulů... paráda. Jenže, při překliknutí na další stránku mi to hází tuto chybu:

Prvek GridView grdArticles aktivoval událost PageIndexChanging, která nebyla zpracována.

Popis: Při provádění aktuálního webového požadavku došlo k neošetřené výjimce. Další informace o chybě a o jejím původu v kódu naleznete v trasování zásobníku. 

Podrobnosti o výjimce: System.Web.HttpException: Prvek GridView grdArticles aktivoval událost PageIndexChanging, která nebyla zpracována.

Zdrojová chyba: 

Při provádění aktuálního webového požadavku byla vygenerována neošetřená výjimka. Informace týkající se původu a umístění výjimky lze zjistit pomocí níže uvedeného trasování zásobníku výjimek.

Trasování zásobníku: 


[HttpException (0x80004005): Prvek GridView grdArticles aktivoval událost PageIndexChanging, která nebyla zpracována.]
   System.Web.UI.WebControls.GridView.OnPageIndexChanging(GridViewPageEventArgs e) +1321514
   System.Web.UI.WebControls.GridView.HandlePage(Int32 newPage) +86
   System.Web.UI.WebControls.GridView.HandleEvent(EventArgs e, Boolean causesValidation, String validationGroup) +464
   System.Web.UI.WebControls.GridView.RaisePostBackEvent(String eventArgument) +207
   System.Web.UI.WebControls.GridView.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
   System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
   System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
   System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565

V praxi to asi znamená, že tam ručně musím nadefinovat co se stane když překliknu na to další tlačítko? Bohužel v tom zatím docela hodně plavu, takže nevím co a kam napsat :(

Budu vám hrozně vděčný za jakékoliv rady.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Přesně tak, Vámi použitý a definovaný Grid nemá metody pro paging. Pokud nemáte s ASP.net zkušenosti, doporučuji začít s videotutoriály, popřípadě navštívit některé z aktivních školení.

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.
  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback