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 }