asp.net MVC使用PagedList.MVC实现分页效果
发布时间 - 2026-01-11 02:29:39 点击率:次在上一篇的EF之DB First中,存在以下的两个问题:

1. 添加/编辑页面显示的是属性名称,而非自定义的名称(如:姓名、专业...)
2. 添加/编辑时没有加入验证
3. 数据展示使用分页
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" }) 是显示属性Name的“标签”,如果没有指定Display特性,则直接显示属性名Name
通用数据库生成的实体模型文件与代码一般不直接修改(防止下次生成时覆盖),这里要使用验证与实体分离
添加一个验证类,代码如下 :
using System.ComponentModel.DataAnnotations;
namespace Zhong.Web.Models
{
[MetadataType(typeof(T_StudentValidateInfo))]
public partial class T_Student
{
}
public class T_StudentValidateInfo
{
[Display(Name="姓名")]
[Required(ErrorMessage ="姓名不能为空")]
[StringLength(10,ErrorMessage ="姓名长度超出限制")]
public string Name { get; set; }
[Display(Name="学号")]
[Required]
[StringLength(20,MinimumLength =10,ErrorMessage ="长度为10-20")]
public string StudentId { get; set; }
}
}
此时前台访问并提交:
从上图可以发现Name变成了“姓名”,StudentsId变成了“学号”,点击Create按钮后,出现了验证提示信息。
分页的实时使用PagedList.MVC插件,可以nuget添加引用
StudentsController中增加一个List的控制器方法:
public ActionResult List(int page = 1)
{
//var students = entities.T_Student.OrderBy(s => s.Id).Skip((page - 1) * 2).Take(2);
var students = entities.T_Student.OrderBy(s => s.Id);
return View(students.ToPagedList(page, 2));
}
视图代码如下:
@using PagedList.Mvc
@model PagedList.IPagedList<Zhong.Web.Models.T_Student>
@{
ViewBag.Title = "List";
}
<h2>List</h2>
<p>
@Html.ActionLink("Create New", "Create")
</p>
<table class="table">
<tr>
<th>
姓名
</th>
<th>
学号
</th>
<th>
专业
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Name)
</td>
<td>
@Html.DisplayFor(modelItem => item.StudentId)
</td>
<td>
@Html.DisplayFor(modelItem => item.T_Major.Name)
</td>
<td>
@Html.ActionLink("Edit", "Edit", new { id=item.Id }) |
@Html.ActionLink("Details", "Details", new { id=item.Id }) |
@Html.ActionLink("Delete", "Delete", new { id=item.Id })
</td>
</tr>
}
</table>
@Html.PagedListPager(Model,page => Url.Action("List",new { page}))
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
# asp.net
# MVC
# PagedList.MVC
# 分页
# asp.net中用DataReader高效率分页
# Asp.net MVC 中利用jquery datatables 实现数据分页显示功能
# .NET中的repeater简介及分页效果
# Asp.Net MVC 分页、检索、排序整体实现代码
# asp.net分页控件使用详解【附实例下载】
# .NET集成DeveloperSharp实现高效分页与无主键分页
# 的是
# 变成了
# 提示信息
# 如果没有
# 自定义
# 而非
# 在上
# 要使
# 大家多多
# 为空
# 不直接
# 上图
# 出现了
# 长度为
# 下次
# ComponentModel
# System
# csharp
# align
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel如何为API编写文档_Laravel API文档生成与维护方法
如何在HTML表单中获取用户输入并用JavaScript动态控制复利计算循环
如何使用 Go 正则表达式精准提取括号内首个纯字母标识符(忽略数字与嵌套)
Laravel如何实现文件上传和存储?(本地与S3配置)
如何在阿里云通过域名搭建网站?
5种Android数据存储方式汇总
Laravel怎么实现验证码(Captcha)功能
Android滚轮选择时间控件使用详解
创业网站制作流程,创业网站可靠吗?
Mybatis 中的insertOrUpdate操作
Laravel怎么实现微信登录_Laravel Socialite第三方登录集成
Laravel怎么实现模型属性的自动加密
百度输入法ai组件怎么删除 百度输入法ai组件移除工具
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?
如何在建站之星绑定自定义域名?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
PythonWeb开发入门教程_Flask快速构建Web应用
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
javascript读取文本节点方法小结
php做exe能调用系统命令吗_执行cmd指令实现方式【详解】
C++时间戳转换成日期时间的步骤和示例代码
Laravel如何正确地在控制器和模型之间分配逻辑_Laravel代码职责分离与架构建议
如何快速辨别茅台真假?关键步骤解析
Laravel如何使用Telescope进行调试?(安装和使用教程)
Laravel如何创建自定义Artisan命令?(代码示例)
手机网站制作与建设方案,手机网站如何建设?
如何快速建站并高效导出源代码?
宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)
如何挑选高效建站主机与优质域名?
Python文件操作最佳实践_稳定性说明【指导】
油猴 教程,油猴搜脚本为什么会网页无法显示?
微信小程序 闭包写法详细介绍
夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化
百度输入法ai面板怎么关 百度输入法ai面板隐藏技巧
laravel怎么配置和使用PHP-FPM来优化性能_laravel PHP-FPM配置与性能优化方法
QQ浏览器网页版登录入口 个人中心在线进入
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
网站制作报价单模板图片,小松挖机官方网站报价?
Laravel如何创建自定义Facades?(详细步骤)
合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?
Laravel怎么生成URL_Laravel路由命名与URL生成函数详解
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
Laravel如何与Vue.js集成_Laravel + Vue前后端分离项目搭建指南
利用python获取某年中每个月的第一天和最后一天
Laravel如何实现RSS订阅源功能_Laravel动态生成网站XML格式订阅内容【教程】
高防网站服务器:DDoS防御与BGP线路的AI智能防护方案
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
下一篇:C4D如何制作金字塔
下一篇:C4D如何制作金字塔

