最近刚刚接触手动音量调节不久,因项目中要用到分页,网上找了下资料,最后采用了MvcPager(http://www .webdiyer。com/),支持同步和埃阿斯异步分页。废话不多说了直接上代码。
一MvcPager .异步视图模型:
公共类文章{[显示(名称='信息编号)]public int ID { get;设置;}[显示(名称='信息标题)]公共字符串标题{ get设置;}[显示(名称='信息内容)]公共字符串内容{获取设置;} }公共类AJaxpager {公共页dListartClick Articles { get设置;} } Control:
///摘要///异步分页测试////summary////param name=' id ' page index/param///param name=' key '关键字/param///returns/returns公共操作结果AJaxpage(int?id=1,字符串键=null){ int TotalCount=0;int pageIndex=id?1;int page SiZe=2;列表文章信息列表=新SoleFuDAL .MyTest().GetArticleList(键,页面大小,(页面索引- 1) * 2,超出总计数);页面开始位置信息页面=信息列表.AsQueryable().按降序排序ToPagedList(页面索引,页面大小);信息寻呼机合计数=合计数信息寻呼机CurrentPageIndex=(int)(id?1);模特AjaxPager .模型=新模型我的测试。AJaxpager();模特文章=信息页如果(请求. IsAjaxRequest()){返回部分视图(' _ article list ',模型);}返回视图(模型);}View:
@model soulefu_manage .模特。MyTest。AjaxPager @使用Webdiyer .网络控件。Mvc!DOCTYPE htmlhtmlhead元名称=' viewport ' Content=' width=device-width '/title mvcpager-AJaxpage/title link href=' ~/Content/page样式。CSS ' rel='样式表/link href=' ~/Content/bootstrap。CSS ' rel='样式表'/流浆div style=' padding: 15px ' @使用(Html .begin information(' AJaxpage ',' MyTest ',new RouteValueDictionary { { ' id ',' ' } },FormMethod .Get)) { @Html .标签('关键字:')输入名称='键'值=' @请求查询字符串[' key ']'/输入类型=' submit '值='查询'/} @*分页表格*@ @{ Html .呈现部分(' _ article table ');} div class='text-center' @Ajax .寻呼机(型号。文章,新页面选项{页面索引参数名称='id ',第一页文本='首页,PrevPageText='上一页,下一页文本='下一页,LastPageText='末页,NumericPagerItemCount=5,ContainerTagName='ul ',CssClass=' pagination ',currentpageritemtample=' Li class= ' active ' a href= ' # ' { 0 }/a/Li ',disable page itemtample=' Li class= ' disable ' a { 0 }/a/Li ',page itemtample=' Li { 0 }/Li ' }).AjaxOptions(a=a . SetUpdateTargetId(' articles ')/div/div/body/html @ model soulefu _ manage .模特。MyTest。AJaxpagerTable class=' table-table-bordered-table-striped ' tr th class=' nowrap '序号/th标题/th内容/th /tr @foreach(模型中的定义变量项目文章){ tr td@Html .DisplayFor(模型=项目ID)/td td @Html .显示(模型项目=项目.标题)/td td @Html .显示(模型项目=项目.内容)/TD/tr }/表格二MvcPager .同步视图模型(此处可不增加,直接和异步的共用同一个):
公共类MVCPager { //信息列表公共页面开始位置文章{获取设置;} } Control:
///摘要///同步分页测试////summary////param name=' id ' page index/param///param name=' key '关键字/param///returns/returns公共操作结果MVCPager(int?id=1,字符串键=null){ int TotalCount=0;int pageIndex=id?1;int page SiZe=2;列表文章信息列表=新SoleFuDAL .MyTest().GetArticleList(键,页面大小,(页面索引- 1) * 2,超出总计数);页面开始位置信息页面=信息列表.AsQueryable().按降序排序ToPagedList(页面索引,页面大小);信息寻呼机合计数=合计数信息寻呼机CurrentPageIndex=(int)(id?1);//数据组装到视图模型模型。模型=新模型我的测试。MVCPager();模特文章=信息页返回视图(模型);}View:
@model soulefu_manage .模特。MyTest。MVCPager @使用Webdiyer .网络控件。Mvc!DOCTYPE htmlhtmlhead元名称=' viewport ' Content=' width=设备宽度'/title mvcpager/title link href=' ~/Content/page样式。CSS ' rel='样式表/link href=' ~/Content/bootstrap。CSS ' rel='样式表/head body div style=' padd :15 px;'@使用(Html .begin information(' MVCPager ',' MyTest ',new routeevaluatedictionary { { ' id ',' ' } },FormMethod .Get)) { @Html .标签('关键字:')输入名称='键'值=' @请求查询字符串[' key ']'/输入类型=' submit '值='查询/} table class=' table table-bordered table-striped ' tr th编号/th标题/th内容/th /tr @foreach(模型中的定义变量信息文章){ tr td@Html .DisplayFor(模型=信息ID)/td td@Html .DisplayFor(模型=信息标题)/td td@Html .DisplayFor(模型=信息内容)/TD/tr }/table div class=' text-center ' nav @ Html .寻呼机(型号。文章,新页面选项{页面索引参数名称='id ',第一页文本='首页,PrevPageText='上一页,下一页文本='下一页,LastPageText='末页,ContainerTagName='ul ',CssClass=' pagination ',currentpageritemtapel=' Li class= ' active ' a href= ' # ' { 0 }/a/Li ',disablepageritemtapel=' Li class= ' disable ' a { 0 }/a/Li ',page itemtapel=' Li { 0 }/Li ',Id=' bootstrapperager ' })/nav/div/div/body/html获取测试数据方法(共用):
公共类MyTest { ///summary ///获取测试数据////summary////param name=' key '/param///param name=' page size '/param///param name='当前计数'/param///param name='总计数'/param///返回/返回公共列表文章GetArticleList(字符串键,int PageSize,int CurrentCount,out int total count){ string Tabname=string .格式('文章');字符串strWhere=' 1=1if(!字符串IsNullOrEmpty(key)) { //SQL关键字过滤包含关键字则不拼接SQL if(!SQL注入.getStrIng(key)){ Strwhere=StrIng .格式(“与”(标题相似“%{0}%”)或content LIKE“% { 0 } %”()”,键);} }字符串顺序=字符串。格式(' ID ASC ');数据集ds=SqlHelper .GetList(SqlHelper.connStr,Order,PageSize,CurrentCount,tabName,strWhere,out总数);ListArticle list=new ListArticle();if (ds!=空ds .表。计数0){ foreach(ds中的数据行dr .表[0]。row){ Article model=new Article();模特。标识=转换.至t32(dr[' ID ']);模特。标题=博士['标题']。ToString();模特。内容=dr['内容']。ToString();名单。添加(型号);} }返回列表;} }效果图:(需要引用CSS)
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。