星空网 > 软件开发 > ASP.net

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

使用ASP.NET MVC查询时,一直使用MvcPaging组件,虽然需要自定义MvcPaging.Pager才能达到我想要的效果,但在没有较好的URL库时,还是这么用。分页的逻辑本来就不复杂,更重要的是最近发现了Flurl这个开源库,所以采用Flurl制作一个DIY的分页组件,核心是PagingModel文件,算法可能不是最优,但包含了主要的逻辑和实现关键点。由于在查询方面,我使用以下实践:

1.使用ViewModel封装查询参数

2.使用ViewModel作为View的Model类型

3.采用表单的GET方式提交查询到Action

4.直接设置Url的参数提交查询到Action

因此自制的分页组件也在上述环境下应用。本来计算将查询和分页写在一起,但是为了便于独立演示分页还是将分页部分独立出来。

1.首先使用String扩展方法包装Flurl中的方法,便于以后更换其他库。

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

2.自定义继承自IHtmlString的对象PagingModel,这样可以不依赖MVC的程序库。同时实现了IvalidatableObject接口,检查PageSize异常。一些默认的参数可以配置成从配置文件(在ASP.NET MVC 系列:文件上传的Demo有相关的代码)或配置数据库中读取。

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

3.在ASP.NET MVC Razor中直接使用或使用HtmlHelper扩展方法包装调用。可以对类库再次保证,引用ASP.NET MVC,这样可以直接返回SelectList对象。

Action:

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

View:

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

4.可以不使用继承自PagingModel的方式,直接在View中new 一个PagingModel方式,如:

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

5.效果演示:

(1)靠近首页和末页的链接数不足时,会向中间补全。博客园的导航就只处理了靠近首页部分,没有正确处理末页部分。

(2)默认PageIndex和PageSize不会添加参数。Url中参数为空时会自动过滤掉。

ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

Demo:点击下载




原标题:ASP.NET MVC 系列:使用Flurl制作可复用的分页组件

关键词:ASP.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

使用Facebook广告降低客户获取成本的4种方法!:https://www.ikjzd.com/articles/7361
重磅喜讯!这397类商品的卖家又可以多赚好几个百分点!:https://www.ikjzd.com/articles/7362
每周精选:亚马逊土耳其站正式推出!2000亿美元关税24日开征!:https://www.ikjzd.com/articles/7366
电影《一出好戏》对跨境行业的启发:https://www.ikjzd.com/articles/7378
Wish产品标题打造的几个要点:https://www.ikjzd.com/articles/7383
速卖通双11大促清单来袭,助力速卖通卖家备战双11!:https://www.ikjzd.com/articles/7384
皇家游轮航线 皇家邮轮旅游攻略:https://www.vstour.cn/a/408245.html
2017春节旅游攻略有吗:https://www.vstour.cn/a/408246.html
相关文章
我的浏览记录
最新相关资讯
海外公司注册 | 跨境电商服务平台 | 深圳旅行社 | 东南亚物流