1.Nuget包添加引用: X.PagedList.Mvc.Core

2.View: 

@using VipSoft.Web.Model
@model X.PagedList.IPagedList<VipSoft.Web.Model.DBEntity.Job>
@using X.PagedList.Mvc.Core; <h1>社会招聘 职位搜索</h1>
<form asp-action="JobInfo" method="get" class="form-inline" role="form">
@Html.TextBox("searchKey", ViewData["SearchKey"] as string, htmlAttributes: new { @class = "form-control", placeHolder = "请输入职业关键词、背景专业名称" })
<input type="submit" value="搜索" class="btn btn-primary" />
</form> @foreach (var item in Model)
{
<div class="row m_t100">
<div class="col-md-7">
<p class="co_news_title m_t30">@item.Position</p>
<p class="co_news_abstract m_t20">
所属部门: @item.Department 工作地点: @item.Locations
<br />
描述:@item.Description
</p>
</div>
</div>
} @Html.PagedListPager(Model, page => Url.Action("JobInfo", new { page, searchKey = ViewData["SearchKey"] }))

3.Controller

using X.PagedList;
public IActionResult JobInfo(string searchKey, int page = 1, int pageSize = 10)
{
ViewData["PageSize"] = pageSize;
ViewData["SearchKey"] = searchKey;
List<Job> result = jobService.ListJob(); //可以把参数带到后台,我这边数据量小,直接全部全取在客户端分页的
if (!string.IsNullOrEmpty(searchKey))
{
result = result.Where(s => (!string.IsNullOrEmpty(s.Position) && s.Position.Contains(searchKey))
|| (!string.IsNullOrEmpty(s.Locations) && s.Locations.Contains(searchKey))
|| (!string.IsNullOrEmpty(s.PositionType) && s.PositionType.Contains(searchKey))).ToList();
}
return View(result.ToPagedList(page, pageSize));
}

Asp.Net Core 使用X.PagedList.Mvc.Core分页 & 搜索的更多相关文章

  1. Asp.net MVC 使用PagedList(新的已更名 为X.PagedList.Mvc) 分页

    在asp.net mvc 中,可以bootstrap来作为界面,自己来写分页程序.也可以使用PagedList(作者已更名为 X.PagedList.Mvc)来分页. 1.首先,在NuGet程序包管理 ...

  2. asp.net MVC 使用PagedList.MVC实现分页

    在上一篇的EF之DB First中,存在以下的两个问题: 1. 添加/编辑页面显示的是属性名称,而非自定义的名称(如:姓名.专业...) 2. 添加/编辑时没有加入验证 另外数据展示使用分页 @Htm ...

  3. 再谈使用X.PagedList.Mvc 分页(ASP.NET Core 2.1)

    在以前的博文中写过使用X.PagedList.Mvc组件来对ASP.NET MVC应用程序进行分页,可以参考此篇随笔:Asp.net MVC 使用PagedList(新的已更名 为X.PagedLis ...

  4. 学习ASP.NET Core Razor 编程系列十九——分页

    学习ASP.NET Core Razor 编程系列目录 学习ASP.NET Core Razor 编程系列一 学习ASP.NET Core Razor 编程系列二——添加一个实体 学习ASP.NET ...

  5. ASP.NET MVC 4使用PagedList.Mvc分页

    ASP.NET MVC中进行分页的方式有多种,在NuGet上有提供使用PagedList.PagedList.Mvc进行分页. 1. 通过NuGet引用PagedList.Mvc 在安装引用Paged ...

  6. ASP.NET/MVC/Core的HTTP请求流程

    ASP.NET HTTP管道(Pipeline)模型 1. 先讲一点,再深刻思考 一般我们都在写业务代码,优化页面,优化逻辑之间内徘徊.也许我们懂得HTTP,HTTPS的GET,POST,但是我们大部 ...

  7. ASP.NET Core中使用自定义MVC过滤器属性的依赖注入

    除了将自己的中间件添加到ASP.NET MVC Core应用程序管道之外,您还可以使用自定义MVC过滤器属性来控制响应,并有选择地将它们应用于整个控制器或控制器操作. ASP.NET Core中常用的 ...

  8. .NET CORE学习笔记系列(1)——ASP.NET MVC Core 介绍和项目解读

    ASP.NET MVC Core 项目文件夹解读 一.项目文件夹总览 1.1.Properties——launchSettings.json 启动配置文件,你可以在项目中“Properties”文件夹 ...

  9. ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET 5.0 将改名为 ASP.NET Core 1.0 ASP.NET MVC 6  将改名为 ASP.NET MVC Core 1.0 Entity Framework 7.0    将 ...

  10. [转帖]2016年时的新闻:ASP.NET Core 1.0、ASP.NET MVC Core 1.0和Entity Framework Core 1.0

    ASP.NET Core 1.0.ASP.NET MVC Core 1.0和Entity Framework Core 1.0 http://www.cnblogs.com/webapi/p/5673 ...

随机推荐

  1. JAVA多线程(1)——线程

    1.定义:线程是一个程序里面不同的执行路径   例子1:只有一个执行路径 (一个分支,即主线程)

  2. Go 接口-契约介绍

    Go 接口-契约介绍 目录 Go 接口-契约介绍 一.接口基本介绍 1.1 接口类型介绍 1.2 为什么要使用接口 1.3 面向接口编程 1.4 接口的定义 二.空接口 2.1 空接口的定义 2.2 ...

  3. 如何系统学习Python?

    学习 Python 可以通过以下系统性的步骤进行: 1. 设定学习目标 确定你学习 Python 的主要目的,是为了编写脚本.数据分析.Web 开发.机器学习还是其他应用?理解这个目标可以帮助你更有针 ...

  4. decltype关键词

    简述 decltype 是 C++11 新增的一个关键字,它和 auto 的功能一样,都用来在编译时期进行自动类型推导. decltype 是"declare type"的缩写,译 ...

  5. HDU 4787 GRE Revenge

    Now Coach Pang is preparing for the Graduate Record Examinations as George did in 2011. At each day, ...

  6. [NOI online2022普及C]字符串

    题目描述 Kri 非常喜欢字符串,所以他准备找 \(t\) 组字符串研究. 第 \(i\) 次研究中,Kri 准备了两个字符串 \(S\) 和\(R\) ,其中 \(S\) 长度为 \(n\),且只由 ...

  7. 自定义md-loader来简单高效的维护组件文档

    个人觉得,组件库最难的不是开发,而是使用,怎么才能让组内同事都用起来,这才是关键 背景 虽然现在开源的组件库很多,但每个项目里还是或多或少都会有人封装出一些项目内通用的基础组件.业务组件 我参与过多个 ...

  8. 使用openfrp搭建网站[无公网ip]

    使用openfrp搭建网站的理由 免费/低成本 安全 可扩展 使用条件 有一台低功耗准系统/服务器[无公网ip] u盘 网线/waif网卡 屏幕 使用方法 第1步准备服务 低功耗准系统 / 服务器 推 ...

  9. python中,如何优雅的解析和管理命令行参数

    背景 我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能.那么如何获取命令行传入进来的参数呢? 一般方法 一般情况下,我们会使用 sys 模块,如 ...

  10. 分布式机器学习的故事:Docker改变世界

    分布式机器学习的故事:Docker改变世界 Docker最近很火.Docker实现了"集装箱"--一种介于"软件包"和"虚拟机"之间的概念- ...