PagerOptions.cs

    1 /*
    2  ASP.NET MvcPager control
    3  Copyright:2009-2010 Webdiyer (http://en.webdiyer.com)
    4  Source code released under Ms-PL license
    5  */
    6 namespace Webdiyer.WebControls.Mvc
    7 {
    8     public class PagerOptions
    9     {
   10         public PagerOptions()
   11         {
   12             AutoHide = true;
   13             PageIndexParameterName = "pageIndex";
   14             NumericPagerItemCount = 10;
   15             AlwaysShowFirstLastPageNumber = false;
   16             ShowPrevNext = true;
   17             PrevPageText = "Prev";
   18             NextPageText = "Next";
   19             ShowNumericPagerItems = true;
   20             ShowFirstLast = true;
   21             FirstPageText = "First";
   22             LastPageText = "Last";
   23             ShowMorePagerItems = true;
   24             MorePageText = "...";
   25             ShowDisabledPagerItems = true;
   26             SeparatorHtml = "  ";
   27             UseJqueryAjax = false;
   28             ContainerTagName = "div";
   29             ShowPageIndexBox = false;
   30             ShowGoButton = true;
   31             PageIndexBoxType = PageIndexBoxType.TextBox;
   32             MaximumPageIndexItems = 80;
   33             GoButtonText = "Go";
   34             ContainerTagName = "div";
   35             InvalidPageIndexErrorMessage = "Invalid page index";
   36             PageIndexOutOfRangeErrorMessage = "Page index out of range";
   37         }
   38         /// <summary>
   39         /// whether or not hide control(render nothing) automatically when there's only one page
   40         /// </summary>
   41         public bool AutoHide { get; set; }
   42 
   43         /// <summary>
   44         /// PageIndexOutOfRangeErrorMessage
   45         /// </summary>
   46         public string PageIndexOutOfRangeErrorMessage { get; set; }
   47 
   48         /// <summary>
   49         /// InvalidPageIndexErrorMessage
   50         /// </summary>
   51         public string InvalidPageIndexErrorMessage { get; set; }
   52         /// <summary>
   53         /// page index parameter name in url
   54         /// </summary>
   55         public string PageIndexParameterName { get; set; }
   56 
   57         /// <summary>
   58         /// Whether or not show page index box
   59         /// </summary>
   60         public bool ShowPageIndexBox { get; set; }
   61 
   62         /// <summary>
   63         /// Page index box type
   64         /// </summary>
   65         public PageIndexBoxType PageIndexBoxType { get; set; }
   66 
   67         /// <summary>
   68         /// Maximum page index items listed in dropdownlist
   69         /// </summary>
   70         public int MaximumPageIndexItems { get; set; }
   71 
   72         /// <summary>
   73         /// whether or not show go button
   74         /// </summary>
   75         public bool ShowGoButton { get; set; }
   76 
   77         /// <summary>
   78         /// text displayed on go button
   79         /// </summary>
   80         public string GoButtonText { get; set; }
   81 
   82         /// <summary>
   83         /// numeric pager item format string
   84         /// </summary>
   85         public string PageNumberFormatString { get; set; }
   86 
   87         private string _containerTagName;
   88         /// <summary>
   89         /// html tag name when control rendered
   90         /// </summary>
   91         public string ContainerTagName
   92         {
   93             get
   94             {
   95                 return _containerTagName;
   96             }
   97             set
   98             {
   99                 if (string.IsNullOrEmpty(value))
  100                     throw new System.ArgumentException("ContainerTagName can not be null or empty", "ContainerTagName");
  101                 _containerTagName = value;
  102             }
  103         }
  104 
  105         /// <summary>
  106         /// all pageritem wrapper format string
  107         /// </summary>
  108         public string PagerItemWrapperFormatString { get; set; }
  109 
  110         /// <summary>
  111         /// current pager item format string
  112         /// </summary>
  113         public string CurrentPageNumberFormatString { get; set; }
  114 
  115         /// <summary>
  116         /// NumericPager Item Wrapper Format String
  117         /// </summary>
  118         public string NumericPagerItemWrapperFormatString { get; set; }
  119 
  120         /// <summary>
  121         /// Current Pager Item Wrapper Format String
  122         /// </summary>
  123         public string CurrentPagerItemWrapperFormatString { get; set; }
  124 
  125         /// <summary>
  126         /// NavigationPager Item Wrapper Format String
  127         /// </summary>
  128         public string NavigationPagerItemWrapperFormatString { get; set; }
  129 
  130         /// <summary>
  131         /// MorePagerItem Wrapper Format String
  132         /// </summary>
  133         public string MorePagerItemWrapperFormatString { get; set; }
  134 
  135         /// <summary>
  136         /// PageIndexBox Wrapper Format String
  137         /// </summary>
  138         public string PageIndexBoxWrapperFormatString { get; set; }
  139 
  140         /// <summary>
  141         /// GoToPage Section Wrapper Format String
  142         /// </summary>
  143         public string GoToPageSectionWrapperFormatString { get; set; }
  144 
  145         /// <summary>
  146         /// whether or not show first and last numeric page number
  147         /// </summary>
  148         public bool AlwaysShowFirstLastPageNumber { get; set; }
  149         /// <summary>
  150         /// numeric pager items count
  151         /// </summary>
  152         public int NumericPagerItemCount { get; set; }
  153         /// <summary>
  154         /// whether or not show previous and next pager items
  155         /// </summary>
  156         public bool ShowPrevNext { get; set; }
  157         /// <summary>
  158         /// previous page text
  159         /// </summary>
  160         public string PrevPageText { get; set; }
  161         /// <summary>
  162         /// next page text
  163         /// </summary>
  164         public string NextPageText { get; set; }
  165         /// <summary>
  166         /// whether or not show numeric pager items
  167         /// </summary>
  168         public bool ShowNumericPagerItems { get; set; }
  169         /// <summary>
  170         /// whether or not show first and last pager items
  171         /// </summary>
  172         public bool ShowFirstLast { get; set; }
  173         /// <summary>
  174         /// first page text
  175         /// </summary>
  176         public string FirstPageText { get; set; }
  177         /// <summary>
  178         /// last page text
  179         /// </summary>
  180         public string LastPageText { get; set; }
  181         /// <summary>
  182         /// whethor or not show more pager items
  183         /// </summary>
  184         public bool ShowMorePagerItems { get; set; }
  185         /// <summary>
  186         /// more page text
  187         /// </summary>
  188         public string MorePageText { get; set; }
  189         /// <summary>
  190         /// client id of paging control container
  191         /// </summary>
  192         public string Id { get; set; }
  193         /// <summary>
  194         /// HOrizontal alignment
  195         /// </summary>
  196         public string HorizontalAlign { get; set; }
  197         /// <summary>
  198         /// CSS class to apply
  199         /// </summary>
  200         public string CssClass { get; set; }
  201         /// <summary>
  202         /// whether or not show disabled pager items
  203         /// </summary>
  204         public bool ShowDisabledPagerItems { get; set; }
  205         /// <summary>
  206         /// seperating item html
  207         /// </summary>
  208         public string SeparatorHtml { get; set; }
  209 
  210         /// <summary>
  211         /// whether or not use jQuery ajax, as opposed to MicrosoftAjax
  212         /// </summary>
  213         internal bool UseJqueryAjax { get; set; }
  214     }
  215     public enum PageIndexBoxType {
  216         TextBox,//input box
  217         DropDownList //dropdownlist
  218     }
  219 }