asp.net MVC使用PagedList.MVC实现分页效果
程序员文章站
2023-02-15 19:13:07
在上一篇的ef之db first中,存在以下的两个问题:
1. 添加/编辑页面显示的是属性名称,而非自定义的名称(如:姓名、专业...)
2. 添加/编辑时没有加入验证...
在上一篇的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 MVC4 HtmlHelper扩展类,实现分页功能
-
ASP.NET MVC使用ActionFilterAttribute实现权限限制的方法(附demo源码下载)
-
ASP.NET MVC 5使用X.PagedList.Mvc进行分页教程(PagedList.Mvc)
-
ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项
-
asp.net使用FCK编辑器中的分页符实现长文章分页功能
-
ASP.NET存储过程实现分页效果(三层架构)
-
ASP.NET MVC分页和排序功能实现
-
ASP.NET MVC+EF在服务端分页使用jqGrid以及jquery Datatables的注意事项
-
asp.net使用FCK编辑器中的分页符实现长文章分页功能
-
ASP.NET MVC4 Razor模板简易分页效果