You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

45 lines
1.7 KiB

  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. namespace OT.Controls.DataPager
  5. {
  6. public partial class Pager
  7. {
  8. ///// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="OnPageChanging"]/*'/>
  9. protected virtual void OnPageChanging(PageChangingEventArgs e)
  10. {
  11. //pageChangeEventHandled = true;
  12. PageChangingEventHandler handler = (PageChangingEventHandler)Events[EventPageChanging];
  13. if (handler != null)
  14. {
  15. handler(this, e);
  16. if (!e.Cancel || UrlPaging) //there's no way we can obtain the last value of the CurrentPageIndex in UrlPaging mode, so it doesn't make sense to cancel PageChanging event in UrlPaging mode
  17. {
  18. CurrentPageIndex = e.NewPageIndex;
  19. OnPageChanged(EventArgs.Empty);
  20. }
  21. }
  22. else
  23. {
  24. CurrentPageIndex = e.NewPageIndex;
  25. OnPageChanged(EventArgs.Empty);
  26. }
  27. //pageChangeEventHandled = false;
  28. }
  29. ///// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="OnPageChanged"]/*'/>
  30. protected virtual void OnPageChanged(EventArgs e)
  31. {
  32. EventHandler handler = (EventHandler)Events[EventPageChanged];
  33. if (handler != null)
  34. handler(this, e);
  35. }
  36. ///// <include file='AspNetPagerDocs.xml' path='AspNetPagerDoc/Method[@name="GoToPage"]/*'/>
  37. public virtual void GoToPage(int pageIndex)
  38. {
  39. OnPageChanging(new PageChangingEventArgs(pageIndex));
  40. }
  41. }
  42. }