自定义分页 html,MVC 自定义HtmlHelper帮助类型之分页
方法一:
在项目中增加App_Code文件夹,新增一个MyHtmlper.cshtml视图文件
写入代码:
@helper Pagger(int pageIndex, int pageCount)
{
@for (int i = 1; i <= pageCount; i++)
{
if (i != pageIndex)
{
@(i)
}
else
{
@i
}
}
}
新增一个HomeController
public class HomeController : Controller
{
// GET: Home
public ActionResult Index(int pageIndex = 1,int pageCount=10)
{
if (pageIndex <= 0)
pageIndex = 1;
TempData["PageIndex"] = pageIndex;
TempData["PageCount"] = pageCount;
return View();
}
}
写一个新的路由
public class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
name: "Pagger",
url: "{controller}/{action}/{pageIndex}_{pageCount}",
defaults: new { controller = "Home", action = "Index"}
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
}
新增视图:
@{
ViewBag.Title = "Index";
}
@{
var pageindex = Convert.ToInt32( TempData["PageIndex"]);
var pageCount = Convert.ToInt32(TempData["PageCount"]);
}
当前是第 @pageindex 页
@MyHtmlper.Pagger(pageindex, pageCount)
运行结果
方法二:
扩展HtmlHelper方法,新增一个CodeHelper类型,扩展HtmlHelper一个Pagger方法
public static class CodeHelper
{
public static MvcHtmlString Pagger(this HtmlHelper htmlHelper, int pageIndex, int pageCount)
{
var htmlSb = new StringBuilder();
for (int i = 1; i <= pageCount; i++)
{
if (i != pageIndex)
{
htmlSb.Append(" " + i + "");
}
else
{
htmlSb.Append("" + i + "");
}
}
return new MvcHtmlString(htmlSb.ToString());
}
}
修改视图
@{
ViewBag.Title = "Index";
}
@{
var pageindex = Convert.ToInt32( TempData["PageIndex"]);
var pageCount = Convert.ToInt32(TempData["PageCount"]);
}
当前是第 @pageindex 页
@MyHtmlper.Pagger(pageindex, pageCount)
@Html.Pagger(pageindex,pageCount)
运行结果:
本人当前只知道两种方法。分享出了给大家借鉴
自定义分页 html,MVC 自定义HtmlHelper帮助类型之分页相关推荐
- java easyui 分页_Spring mvc+easyui做列表展示及分页
Spring mvc有一个注解@ResponseBody可以自己将返回数据解析成json,不用在response.getWriter(),设置response的编码之类的. 1.首先在spring-m ...
- asp.net mvc 自定义 pager 封装与优化
asp.net mvc 自定义 pager 封装与优化 Intro 之前做了一个通用的分页组件,但是有些不足,从翻页事件和分页样式都融合在后台代码中,到翻页事件可以自定义,再到翻页和样式都和代码分离, ...
- [置顶] 分步实现具有分页功能的自定义DataList控件【附源代码】
一.控件也是类 [效果] [操作步骤] 1. 新建网站Web 2. 添加类CustomDataList.cs(系统会提示你把类建在App_Code文件夹中),代码如下: using System; ...
- ASP.NET MVC 自定义路由中几个需要注意的小细节
本文主要记录在ASP.NET MVC自定义路由时,一个需要注意的参数设置小细节. 举例来说,就是在访问 http://localhost/Home/About/arg1/arg2/arg3 这样的自定 ...
- Spring MVC自定义验证注释
在上一教程中,我展示了如何使用注释来验证表单 . 这对于简单的验证非常有用,但是最终,您需要验证一些现成的注释中没有的自定义规则. 例如,如果您需要根据输入的出生日期来验证用户已超过21岁,或者可能需 ...
- [转]自定义ASP.NET MVC JsonResult序列化结果
本文转自:http://blog.163.com/luckcq@yeah/blog/static/17174770720121293437119/ 最近项目中前台页面使用EasyUI的jQuery插件 ...
- ASP.NET MVC 自定义Razor视图WorkContext
概述 1.在ASP.NET MVC项目开发的过程中,我们经常需要在cshtml的视图层输出一些公用信息 比如:页面Title.服务器日期时间.页面关键字.关键字描述.系统版本号.资源版本号等 2.普通 ...
- mybatis常见分页技术和自定义分页原理实战
文章目录 前言 mybatis简单了解 分页类型 分页方式 1.数组分页 2.数据库分页 3.Rowbounds分页 4.自定义插件分页 自定义分页原理 自定义分页实战 聊下第三方分页插件 pageH ...
- [Typora Markdown BP] 修改文字格式、图片缩放对齐居中、Excel表格互转、手动分页、表格不分页、Mermaid自定义绘图(以自动机为例)、思维导图导出、word导出删文字、自动编号
目录 文章较长,请点击书签浏览感兴趣的内容. CSDN的渲染与Typora未必一致,下面所有功能都在Typora上测试成功. 文章目录 前言 全局设置 效果类 修改字体.颜色.字体大小.行高等 文字居 ...
最新文章
- TCP/IP报文格式
- ios 推送消息 php推送
- labview如何加载库_迈德威视工业相机LabView 开发指导
- c语言中外部变量的使用方法,C语言外部变量的使用以及erxtern的用法
- Spring IOC注解开发
- 一次事故,我对MySQL时间戳存char(10)还是int(10)有了全新的认识
- python骗局-我终于在生活中用到Python了!!!——用爬虫来揭露骗局真相
- ASP.NET MVC:多模板支持
- 照相机成像原理 数码相机的成像原理
- 获取域管理员权限的几种方式
- 民营医院网络咨询解答技巧
- 每周写周报每天写总结
- 2020年阴历二月二十八 投资理财~如何正确面对黑天鹅
- windows环境 java jdbc 连接impala (kerberos认证)
- python名词_使用Python词性标记提取名词(循环)
- 数据库 之 round函数
- 使用STM32CubeMX 快速生成 USB HID 工程 - STM32F107VCT6
- wordpress个人博客申请Let’s Encrypt免费SSL证书
- Linux查看mac地址方法(转)
- 在云服务器中搭建MQTT平台
热门文章
- python编译成dll文件_用vc生成可被python调用的dll文件
- 为什么redis取出来是null_[2020] Redis 最新面试题
- android 保活方案_Android 后台保活手段总结 (上篇)
- oracle dbf 超大,oracle 数据库users01.dbf文件过大 转移方法
- java 文件下载方法_【工具类】Java后台上传下载文件的几种方式
- c语言怎样用格式化文件存储,如何用格式化的方式读写文件
- libzdb 连接mysql,数据库连接池库libzdb使用教程
- 模型压缩 相关文章解读
- Java集合:Set集合
- 【东营seo】SEO发展下的大机遇