新年到!先给博客园的朋友们拜个年!祝大家新年快乐!
在实际项目的开发过程中!发现很多人对ASP.NET MVC框架下的分页实现感到吃力或者感到繁琐!故在元旦假期为大家写了个ASP.NET MVC分页组件!该分页组件现中包含ASP.NET MVC AJAX分页以及ASP.NET MVC 普通分页!现正式发布供大家使用!
因本人水平有限!使用之中发现不足之处还望大家指点一二!
请需要的朋友在此处下载:DaiChaoMvcPager.dll
该分页组件相关说明:
1 namespace:DaiChaoMvcPager 2 3 class:DCMvcPager 4
属性:
代码
1 #region 分页所需要的实体参数类成员属性 2 /// <summary> 3 /// Ajax加载Url数据后填充所需要的容器Dom ID Default:requestAjaxText 4 /// </summary> 5 public string LoadDomId 6 { 7 set { _loaddomid = value; } 8 get { return _loaddomid; } 9 } 10 /// <summary> 11 /// 当为Ajax分页时:Ajax请求所要加载的Url格式(使用Jquery.Load) Eg:/News/Category-1-{0} 12 /// 当为普通分页时:普通分页所要加载的Url格式(使用GET方式) Eg:/News/Category-1-{0} 13 /// /News/Category-1-{0}中的{0}为页码占位符,替换成页码即可 14 /// Default:"" 15 /// </summary> 16 public string FormatLinkUrl 17 { 18 set { _formatlinkurl = value; } 19 get { return _formatlinkurl; } 20 } 21 /// <summary> 22 /// 当前页面 Default:1 23 /// </summary> 24 public int CurrentPage 25 { 26 set { _currentpage = value; } 27 get { return _currentpage; } 28 } 29 /// <summary> 30 /// 页大小 Default:15 31 /// </summary> 32 public int PageSize 33 { 34 set { _pagesize = value; } 35 get { return _pagesize; } 36 } 37 /// <summary> 38 /// 总记录数 Default:0 39 /// </summary> 40 public int RecordCount 41 { 42 set { _recordcount = value; } 43 get { return _recordcount; } 44 } 45 /// <summary> 46 /// 每页显示数字按钮的个数 Default:10 47 /// </summary> 48 public int NumericButtonCount 49 { 50 set { _numericbuttoncount = value; } 51 get { return _numericbuttoncount; } 52 } 53 /// <summary> 54 /// 页码导航中第一页的文本 Default:首页 55 /// </summary> 56 public string FirstPageText 57 { 58 set { _firstpagetext = value; } 59 get { return _firstpagetext; } 60 } 61 /// <summary> 62 /// 页码导航中上一页的文本 Default:上一页 63 /// </summary> 64 public string PrevPageText 65 { 66 set { _prevpagetext = value; } 67 get { return _prevpagetext; } 68 } 69 /// <summary> 70 /// 页码导航中下一页的文本 Default:下一页 71 /// </summary> 72 public string NextPageText 73 { 74 set { _nextpagetext = value; } 75 get { return _nextpagetext; } 76 } 77 /// <summary> 78 /// 页码导航中末页的文本 Default:末页 79 /// </summary> 80 public string LastPageText 81 { 82 set { _lastpagetext = value; } 83 get { return _lastpagetext; } 84 } 85 /// <summary> 86 /// 页码导航中上一组(更多页)的文本 Default:<img src="http://www.cnblogs.com/Content/images/pager/MoreNumericButton.gif" border="0" align="absmiddle"/> 87 /// </summary> 88 public string MorePrevPageText 89 { 90 set { _moreprevpagetext = value; } 91 get { return _moreprevpagetext; } 92 } 93 /// <summary> 94 /// 页码导航中下一组(更多页)的文本 Default:<img src="http://www.cnblogs.com/Content/images/pager/MoreNumericButton.gif" border="0" align="absmiddle"/> 95 /// </summary> 96 public string MoreNextPageText 97 { 98 set { _morenextpagetext = value; } 99 get { return _morenextpagetext; } 100 } 101 /// <summary> 102 /// 转到第几页中的按钮的值 Default:GO 103 /// </summary> 104 public string SubmitButtonText 105 { 106 set { _submitbuttontext = value; } 107 get { return _submitbuttontext; } 108 } 109 /// <summary> 110 /// 转到第几页中的按钮的样式名称 Default:button_go 111 /// </summary> 112 public string SubmitButton_CssName 113 { 114 set { _submitbutton_cssname = value; } 115 get { return _submitbutton_cssname; } 116 } 117 /// <summary> 118 /// 转到第几页中文本框的样式名称 Default:textbox_pageIndex 119 /// </summary> 120 public string TextBox_CssName 121 { 122 set { _textbox_cssname = value; } 123 get { return _textbox_cssname; } 124 } 125 /// <summary> 126 /// 导航按钮(普通)的样式名称 Default:page_a_NumericButton 127 /// </summary> 128 public string NumericButton_Cssname_One 129 { 130 set { _numericbutton_cssname_one = value; } 131 get { return _numericbutton_cssname_one; } 132 } 133 /// <summary> 134 /// 导航按钮(当前页按钮)的样式名称 Default:page_a_current 135 /// </summary> 136 public string NumericButton_Cssname_Two 137 { 138 set { _numericbutton_cssname_two = value; } 139 get { return _numericbutton_cssname_two; } 140 } 141 /// <summary> 142 /// 导航按钮(不能访问的,如:如果已经是第一页那么上一页和首页将不能被访问)的样式名称 Default:page_a_disabled 143 /// </summary> 144 public string NumericButton_Cssname_Three 145 { 146 set { _numericbutton_cssname_three = value; } 147 get { return _numericbutton_cssname_three; } 148 } 149 /// <summary> 150 /// 跳转文本框前后的文本样式名称(如转到{0}页中的“转到第”和“页”的样式名称!) Default:page_span_text 151 /// </summary> 152 public string NumericButton_Cssname_Four 153 { 154 set { _numericbutton_cssname_four = value; } 155 get { return _numericbutton_cssname_four; } 156 } 157 /// <summary> 158 /// 分页统计信息区域外框DIV的样式表名称 Default:Statistics 159 /// </summary> 160 public string Statistics_Div_Cssname 161 { 162 set { _statistics_div_cssname = value; } 163 get { return _statistics_div_cssname; } 164 } 165 /// <summary> 166 /// 分页统计信息区域中的数字样式表名称 Default:StatisticsNumeric 167 /// </summary> 168 public string Statistics_Div_Numeric_Cssname 169 { 170 set { _statistics_div_numeric_cssname = value; } 171 get { return _statistics_div_numeric_cssname; } 172 } 173 /// <summary> 174 /// 分页页码外框DIV的样式表名称 Default:NavigationArea 175 /// </summary> 176 public string NavigationArea_Div_Cssname 177 { 178 set { _navigationarea_div_cssname = value; } 179 get { return _navigationarea_div_cssname; } 180 } 181 #endregion 分页所需要的实体参数类成员属性
提供的方法:
方法一:
代码
/// <summary> /// MVC框架AJAX分页函数 返回分页导航的HTML代码(需要Jquery支持) /// </summary> /// <returns>MVC框架AJAX分页函数 返回分页导航的HTML代码(需要Jquery支持)</returns> public string MvcAjaxPager()
方法二:
代码
#region MVC框架普通分页函数 返回分页导航的Html代码 /// <summary> /// MVC框架普通分页函数 返回分页导航的Html代码 /// </summary> /// <returns>MVC框架普通分页函数 返回分页导航的Html代码</returns> public string MvcPager()
现在提供使用方法:
一:先引用该DLL到您自己的项目!
引用命名空间:
二:实例化该类:
DCMvcPager pager = new DCMvcPager();
三:给该组件需要的属性给赋值:
必需属性:pager.RecordCount(总记录数)和pager.FormatLinkUrl(Url格式!在上面的属性注释里面有详细的注释说明)
最后一步:执行ASP.NET MVC Ajax分页函数:pager.MvcAjaxPager()或者普通分页函数(请求方式:get)pager.MvcPager()即可!该函数有一个string类型的返回值!返回值为生成的分页页码和分页统计信息html代码!得到该返回值后怎么传递给view显示我就不多说了不在本文的范围之内!
示例(Jquery Ajax分页)代码如下:(这里使用了一个用户控件来展示数据!你可以根据自己需要换成其他的!)
代码
1 public ActionResult NewsCategory(int Article_ClassID, int? PageIndex) 2 { 3 if (Request.IsAjaxRequest()) 4 { 5 if (!PageIndex.HasValue) 6 { 7 PageIndex = 1; 8 } 9 Model_Article ModelTool = new Model_Article(); 10 DCMvcPager pager = new DCMvcPager(); 11 pager.RecordCount = ModelTool.CMS_Article_GetRecordCount(Article_ClassID); 12 pager.PageSize = 20; 13 pager.FormatLinkUrl = "/News/Category-"+Article_ClassID+"-{0}"; 14 //此处这个占位符:{0}即为当前页码索引需要占用的位置!你也可以根据需要自定义路由规则以此得到不同格式的Url地址! 15 pager.CurrentPage = PageIndex.Value; 16 List<Model_Web_Article> Lists = ModelTool.CMS_Article_GetList(pager.PageSize, pager.CurrentPage, Article_ClassID, pager.RecordCount); 17 ViewData["PagerHtml"]=pager.MvcAjaxPager(); 18 return PartialView(Lists); 19 } 20 else 21 { 22 //错误处理 23 } 24 }
当然上面你也可以通过强型返回数据列表和html分页代码!这里就不作描述了!
用户控件的html代码如下:
代码
1 <%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<Model_Web_Article>" %> 2 <div id="requestAjaxText"> 3 <div id="list_containers"> 4 <ul>
-
六六分期app的软件客服如何联系?不知道吗?加qq群【895510560】即可!标题:六六分期
阅读:18000|2023-10-27
-
今天小编告诉大家如何处理win10系统火狐flash插件总是崩溃的问题,可能很多用户都不知
阅读:9580|2022-11-06
-
今天小编告诉大家如何对win10系统删除桌面回收站图标进行设置,可能很多用户都不知道
阅读:8131|2022-11-06
-
今天小编告诉大家如何对win10系统电脑设置节能降温的设置方法,想必大家都遇到过需要
阅读:8515|2022-11-06
-
我们在使用xp系统的过程中,经常需要对xp系统无线网络安装向导设置进行设置,可能很多
阅读:8418|2022-11-06
-
今天小编告诉大家如何处理win7系统玩cf老是与主机连接不稳定的问题,可能很多用户都不
阅读:9315|2022-11-06
-
电脑对日常生活的重要性小编就不多说了,可是一旦碰到win7系统设置cf烟雾头的问题,很
阅读:8381|2022-11-06
-
我们在日常使用电脑的时候,有的小伙伴们可能在打开应用的时候会遇见提示应用程序无法
阅读:7814|2022-11-06
-
今天小编告诉大家如何对win7系统打开vcf文件进行设置,可能很多用户都不知道怎么对win
阅读:8369|2022-11-06
-
今天小编告诉大家如何对win10系统s4开启USB调试模式进行设置,可能很多用户都不知道怎
阅读:7365|2022-11-06
|
请发表评论