引用命名空间:

using System.Text;
using System.Web.Mvc;

Html分页方法

#region 分页Html辅助方法/// <summary>/// 分页Html辅助方法/// </summary>/// <param name="htmlHelper"></param>/// <param name="currentPage"></param>/// <param name="pageSize"></param>/// <param name="totalCount"></param>/// <param name="parameterString"></param>/// <returns></returns>public static HtmlString PageNavigate(this HtmlHelper htmlHelper, int currentPage, int pageSize, int totalCount, string parameterString){var redirectTo = htmlHelper.ViewContext.RequestContext.HttpContext.Request.Url.AbsolutePath;pageSize = pageSize == 0 ? 3 : pageSize;var totalPages = Math.Max((totalCount + pageSize - 1) / pageSize, 1);//总页数var output = new StringBuilder();output.Append("<nav>");output.Append("<ul class='pagination'>");string pageSizrWithParameter = string.Empty;if (!string.IsNullOrEmpty(parameterString))pageSizrWithParameter = pageSize + "&" + parameterString;if (totalPages>1){output.AppendFormat("<li><a href='{0}?pageIndex=1&pageSize={1}' aria-label='Previous'><span aria-hidden='true'>&laquo;</span></a></li>",redirectTo,pageSizrWithParameter);if (currentPage > 1)//处理上一页连接output.AppendFormat("<li><a href='{0}?pageIndex={1}&pageSize={2}'>上一页</a></li>",redirectTo,currentPage-1,pageSizrWithParameter);output.Append("");int currint = 5;for (int i = 0; i < 10; i++){//一共最多显示10个页码,前面五个后面五个if ((currentPage+i-currint)>=1 && (currentPage+1-currint)<=totalPages){if (currint == i)//当前页处理output.AppendFormat("<li class='active'><a href='{0}?pageIndex={1}&pageSize={2}'>{3}</a></li>", redirectTo, currentPage, pageSizrWithParameter, currentPage);else//一般页处理output.AppendFormat("<li><a href='{0}?pageIndex={1}&pageSize={2}'>{3}</a></li>",redirectTo,currentPage+i-currint,pageSizrWithParameter,currentPage+i-currint);}output.Append("");}if (currentPage < totalPages)//处理下一页连接output.AppendFormat("<li><a href='{0}?pageIndex={1}&pageSize={2}'>下一页</a></li>", redirectTo, currentPage + 1, pageSizrWithParameter);output.Append("");if (currentPage != totalPages)output.AppendFormat("<li><a href='{0}?pageIndex={1}&pageSize={2}'><span aria-hidden='true'>&raquo;</span></a></li>", redirectTo, totalPages, pageSizrWithParameter);output.Append("");}output.Append("</ul>");output.Append("</nav>");return new HtmlString(output.ToString());}#endregion

View Code

控制器方法(搜索的关键字在Js中拼接出来,然后用window.location="路径?参数="+。。+"&参数="+。。。+"。。。。")

[HttpGet]
public ActionResult Moments(int pageIndex=1,int pageSize=20)
{int totalRecord=0;List<实体类> list=得到集合方法(pageIndex,pageSize,out totalRecord);ViewData["totalRecord"]=totalRecord;ViewData["pageIndex"]=pageIndex;ViewData["pageSize"]=pageSize;#region 生成搜索状态保存数据StringBuilder sb=new StringBuilder();foreach(string item in Request.QueryString.AllKeys){if(!item.Equals("pageIndex") && !item.Equals("pageSize"))sb.Append(item+"="+Request.QueryString[item]+"&")  } ViewData["parameter"]=sb.ToString().Trim('&');#endregionreturn View(lam);
}

View Code

引用分页

<!--在控制器里面存储的ViewData,totalRecord表示根据添加查询到的数据并返回的条数,parameter表示搜索条件(关键字搜索等等)-->
@Html.PageNavigate(int.Parse(ViewData["pageIndex"].ToString()),int.Parse(ViewData["pageSize"].ToString()),int.Parse(ViewData["totalRecord"].ToString()),ViewData["parameter"].ToString())

DropDownList:(还没有经过测试,只是展示一下思路,我也不清楚理解是否是正确的,求大神们指教一下)

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, IEnumerable<SelectListItem> list){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name!=null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list!=null){foreach (var item in list){option.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}return new HtmlString(select.ToString());//return ExtDropDownList(htmlHelper, select.ToString(), null);}

View Code

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, IEnumerable<SelectListItem> list, IDictionary<string,object> htmlAttribute){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){option.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}select.MergeAttributes(htmlAttribute);return new HtmlString(select.ToString());}

View Code

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, string value, IEnumerable<SelectListItem> list, object attribute){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){option.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}return ExtDropDownList(htmlHelper, select.ToString(), null, HtmlHelper.AnonymousObjectToHtmlAttributes(attribute));}

View Code

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, string value, IEnumerable<SelectListItem> list){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){if (!String.IsNullOrEmpty(value)){if (item.Value == value)option.MergeAttribute("value", value);}elseoption.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}return new HtmlString(select.ToString());}

View Code

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, string value, IEnumerable<SelectListItem> list, IDictionary<string, object> htmlAttribute){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){if (!String.IsNullOrEmpty(value)){if (item.Value == value)option.MergeAttribute("value", value);}elseoption.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}select.MergeAttributes(htmlAttribute);return new HtmlString(select.ToString());}

View Code

public static HtmlHelper ExtDropDownList(this HtmlHelper htmlHelper, string name, string value, IEnumerable<SelectListItem> list, object attribute, IDictionary<string, object> htmlAttribute){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){if (!String.IsNullOrEmpty(value)){if (item.Value == value)option.MergeAttribute("value", value);}elseoption.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}select.MergeAttributes(htmlAttribute);return ExtDropDownList(htmlHelper, select.ToString(), null, null, HtmlHelper.AnonymousObjectToHtmlAttributes(attribute), null);}

View Code

public static HtmlString ExtDropDownList(this HtmlHelper htmlHelper, string name, string value, IEnumerable<SelectListItem> list, object attribute1, object attribute2){TagBuilder select = new TagBuilder("select");TagBuilder option = new TagBuilder("option");if (!select.Attributes.ContainsKey("id") && name != null)select.GenerateId(name);//添加Id属性if (!String.IsNullOrEmpty(name))select.MergeAttribute("name", name);//添加那么属性//添加节点option.MergeAttribute("value", "0");option.InnerHtml = "--请选择--";select.InnerHtml += option;if (list != null){foreach (var item in list){if (!String.IsNullOrEmpty(value)){if (item.Value == value)option.MergeAttribute("value", value);}elseoption.MergeAttribute("value", item.Value);option.InnerHtml = item.Text;select.InnerHtml += option;}}return ExtDropDownList(htmlHelper, select.ToString(), null, null, HtmlHelper.AnonymousObjectToHtmlAttributes(attribute1), HtmlHelper.AnonymousObjectToHtmlAttributes(attribute2));}

View Code

转载于:https://www.cnblogs.com/xibianriluo/p/4852018.html

Html辅助方法(分页、下拉框)相关推荐

  1. html 下拉组件被下面的组件挡住,div被select下拉框挡住了--5种解决方法

    在IE中,select属于window类型控件,它会"挡住"所有非window类型控件 可以这么理解,div这样的组件是在浏览器客户区使用代码"渲染"的, 他们 ...

  2. chosen.jquery.js 、chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值 ,chosen 实现远程搜索加载下拉选项

    chosen.jquery.js .chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值,chosen 实现远程搜索加载下拉选项 chosen. ...

  3. 下拉框的高度html,设置select下拉框高度的一种方法

    这种方法可以设置下拉框最多显示几条栏目,多余的栏目用显示滚动条展示: 文学集 哲学 雅思 大学网奥数大学网奥数 文学集 哲学 雅思 大学网奥数 Layui:设置select下拉框自动选中某项 1.问题 ...

  4. 搜索引擎下拉食云速捷详细_下拉框优化才云速捷一流!下拉框优化虑云速捷豪杰...

    现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...

  5. ElementUI下拉框选择后不显示值

    文章目录 方法一 方法二 问题:vue(ElementUI)下拉框选择后赋值了,但是框上不显示 <!--下拉框--> <el-form-item label="用户角色&q ...

  6. 删除下拉框只找23火星软件_下拉框搜索就找23火星软件/下拉框软件速来火星下拉...

    现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...

  7. 搜索引擎下拉食云速捷详细_移动端下拉框寻云速捷/-/移动端下拉框跃云速捷-...

    现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...

  8. jq取html下拉框的值,jquery设置下拉框的值为空

    用jquery如何将下拉选的值置为空? 当选择"是",主编码码制为必填:当选择"否",实现主编码码制值为空.该jquery提供了val()方法设置或返回表单字段 ...

  9. 删除下拉框只找23火星软件_下拉框关键词软件只找23火星下拉框词工具佳选火星...

    现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...

  10. HTML下拉框样式美化

    在网页中,下拉框的样式最难美化,默认样式巨丑,好在现在已经有各种框架实现了下拉框的样式美化,主要思路都是通过JS代码将下拉框元素用更容易设置样式的div进行替换,再将对应选项及事件进行关联. 最近一项 ...

最新文章

  1. SharePoint 2010 与 SQL Server 2012 报表服务集成
  2. Java学习笔记13
  3. keyshot渲染图文教程_一篇文章教你学会3D建模和渲染 反正我是信了
  4. 学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)
  5. 理解WebKit和Chromium: Canvas2D及其实现
  6. Android之控件与布局,结构知识点,基础完结
  7. 蓝桥杯 PREV-37 历届试题 分巧克力
  8. 怎么用javascript进行拖拽[zt]
  9. Django之Form组件补充
  10. 神奇的mysql查询
  11. Java 面试——数据类型计算与拆箱装箱
  12. JavaScript+HTML 实现贪吃蛇简陋版
  13. C语言实现扩展欧几里得算法
  14. BZOJ 2145 悄悄话
  15. 集成运算放大器的简要介绍
  16. android 模拟器创建,Android模拟器的建立以及HelloWorld的编写
  17. setImageResource和setImageDrawable和setImageBitMap区别
  18. YOLOv4论文解读
  19. DPDK and XDP and ebpf
  20. Amazon 邮箱大全

热门文章

  1. Alpine linux 没有apt-get安装软件方法 安装vim
  2. linux拆分文件会影响源文件吗,linux split拆分文件
  3. JavaSE基础——多态、抽象类、接口
  4. try{}catch(){}finally{}执行顺序和return结果顺序的理解03
  5. 云计算机室怎么样映射d 盘,云服务器磁盘如何映射到本地磁盘
  6. 计算机秘密程序 听课反思,《编制计算机程序解决问题》的教学反思
  7. 阿里巴巴与小毛驴的故事——贪心算法
  8. 小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心
  9. 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_11使用骨架创建maven的java工程...
  10. 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_1_使用传统的方式,遍历集合,对集合进行过滤...