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. Vite 5.0有哪些新变化?

    Rollup 4 Vite 现在使用 Rollup 4,它也带来了一些重大的变化,特别是: 导入断言(assertions 属性)已被重命名为导入属性(attributes 属性). 不再支持 Aco ...

  2. python之猜数字小游戏

    import random#随机数函数 a = random.randint(0, 50)#随机0-50之内的整数 print('------------------SWS工作室----------- ...

  3. C/C++ 通过SQLiteSDK增删改查

    SQLite,作为一款嵌入式关系型数据库管理系统,一直以其轻量级.零配置以及跨平台等特性而备受青睐.不同于传统的数据库系统,SQLite是一个库,直接与应用程序一同编译和链接,无需单独的数据库服务器进 ...

  4. json数组根据某属性去重

    数据: let arry = [ {name: "张三", age: 23, work: '计算机'}, {name: "王五", age: 29, work: ...

  5. 【python】大作业进度一 | 解析题目

    1.爬取生成txt文件(整本小说) 2.图形化界面的实现

  6. 主界面(零基础适合小白)基础javaweb前端项目实战【包含增删改查,mysql】三

    首先编写sp文件(index.jsp) <%@ page contentType="text/html;charset=UTF-8" language="java& ...

  7. Vite4+Typescript+Vue3+Pinia 从零搭建(5) - 路由router

    项目代码同步至码云 weiz-vue3-template Vue Router 是 Vue.js 的官方路由.它与 Vue.js 核心深度集成,让用 Vue.js 构建单页应用变得轻而易举. 1. 安 ...

  8. Educational Codeforces Round 56 (Rated for Div. 2) G题(线段树,曼哈顿距离)

    题目传送门 以二维为例,二维下两点间的曼哈顿距离最大值为\(max(|x_i-x_j| + |y_i-y_j|)\),可以通过枚举坐标符号正负来去掉绝对值.即\(max(x_i-x_j+y_i-y_j ...

  9. C++20语言核心特性的变化

    using for Enumeration Values   对比一下C++20前后的区别: enum class State { open, progress, done = 9 }; // Bef ...

  10. Linux笔记02: Linux环境_2.3 Linux网络连接

    2.3 Linux网络连接 本节介绍VMware Workstation Player 17下CentOS 7的网络连接. 2.3.1 VMware网络类型 VMware提供的网络连接有5种: ●桥接 ...