Html辅助方法(分页、下拉框)
引用命名空间:
using System.Text; using System.Web.Mvc;
Html分页方法
![](/assets/blank.gif)
![](/assets/blank.gif)
#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'>«</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'>»</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="路径?参数="+。。+"&参数="+。。。+"。。。。")
![](/assets/blank.gif)
![](/assets/blank.gif)
[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:(还没有经过测试,只是展示一下思路,我也不清楚理解是否是正确的,求大神们指教一下)
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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
![](/assets/blank.gif)
![](/assets/blank.gif)
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辅助方法(分页、下拉框)相关推荐
- html 下拉组件被下面的组件挡住,div被select下拉框挡住了--5种解决方法
在IE中,select属于window类型控件,它会"挡住"所有非window类型控件 可以这么理解,div这样的组件是在浏览器客户区使用代码"渲染"的, 他们 ...
- chosen.jquery.js 、chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值 ,chosen 实现远程搜索加载下拉选项
chosen.jquery.js .chosen-select 源码修改控制 chosen:updated 方法动态更新下拉框选项不更新搜索框值,chosen 实现远程搜索加载下拉选项 chosen. ...
- 下拉框的高度html,设置select下拉框高度的一种方法
这种方法可以设置下拉框最多显示几条栏目,多余的栏目用显示滚动条展示: 文学集 哲学 雅思 大学网奥数大学网奥数 文学集 哲学 雅思 大学网奥数 Layui:设置select下拉框自动选中某项 1.问题 ...
- 搜索引擎下拉食云速捷详细_下拉框优化才云速捷一流!下拉框优化虑云速捷豪杰...
现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...
- ElementUI下拉框选择后不显示值
文章目录 方法一 方法二 问题:vue(ElementUI)下拉框选择后赋值了,但是框上不显示 <!--下拉框--> <el-form-item label="用户角色&q ...
- 删除下拉框只找23火星软件_下拉框搜索就找23火星软件/下拉框软件速来火星下拉...
现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...
- 搜索引擎下拉食云速捷详细_移动端下拉框寻云速捷/-/移动端下拉框跃云速捷-...
现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...
- jq取html下拉框的值,jquery设置下拉框的值为空
用jquery如何将下拉选的值置为空? 当选择"是",主编码码制为必填:当选择"否",实现主编码码制值为空.该jquery提供了val()方法设置或返回表单字段 ...
- 删除下拉框只找23火星软件_下拉框关键词软件只找23火星下拉框词工具佳选火星...
现在不管做什么,都是需要流量,有了流量才能把自己手上的生意做好.不管是实体店微商,电商,还是互联网创业者,如果你拥有了流量,那么不管你选择去做什么产品,你都会一步到位,一飞冲天,实现自己的梦想.但是现 ...
- HTML下拉框样式美化
在网页中,下拉框的样式最难美化,默认样式巨丑,好在现在已经有各种框架实现了下拉框的样式美化,主要思路都是通过JS代码将下拉框元素用更容易设置样式的div进行替换,再将对应选项及事件进行关联. 最近一项 ...
最新文章
- SharePoint 2010 与 SQL Server 2012 报表服务集成
- Java学习笔记13
- keyshot渲染图文教程_一篇文章教你学会3D建模和渲染 反正我是信了
- 学习OpenStack之 (4): Linux 磁盘、分区、挂载、逻辑卷管理 (Logical Volume Manager)
- 理解WebKit和Chromium: Canvas2D及其实现
- Android之控件与布局,结构知识点,基础完结
- 蓝桥杯 PREV-37 历届试题 分巧克力
- 怎么用javascript进行拖拽[zt]
- Django之Form组件补充
- 神奇的mysql查询
- Java 面试——数据类型计算与拆箱装箱
- JavaScript+HTML 实现贪吃蛇简陋版
- C语言实现扩展欧几里得算法
- BZOJ 2145 悄悄话
- 集成运算放大器的简要介绍
- android 模拟器创建,Android模拟器的建立以及HelloWorld的编写
- setImageResource和setImageDrawable和setImageBitMap区别
- YOLOv4论文解读
- DPDK and XDP and ebpf
- Amazon 邮箱大全
热门文章
- Alpine linux 没有apt-get安装软件方法 安装vim
- linux拆分文件会影响源文件吗,linux split拆分文件
- JavaSE基础——多态、抽象类、接口
- try{}catch(){}finally{}执行顺序和return结果顺序的理解03
- 云计算机室怎么样映射d 盘,云服务器磁盘如何映射到本地磁盘
- 计算机秘密程序 听课反思,《编制计算机程序解决问题》的教学反思
- 阿里巴巴与小毛驴的故事——贪心算法
- 小D课堂 - 新版本微服务springcloud+Docker教程_3-01 什么是微服务的注册中心
- 阶段2 JavaWeb+黑马旅游网_15-Maven基础_第5节 使用骨架创建maven的java工程_11使用骨架创建maven的java工程...
- 阶段1 语言基础+高级_1-3-Java语言高级_08-JDK8新特性_第2节 Stream流式思想概述_1_使用传统的方式,遍历集合,对集合进行过滤...