MVC+EasyUI+三层新闻网站建立 分页查询数据功能(七)
MVC新闻网站建立,完成分页查询数据功能。
1、在Model里面建立NewInfo(里面存放的是新闻信息的实体信息)
然后在DAL层中建立NewInfoDal (里面存放对新闻信息的操作)
写入分页查询的代码
/// <summary> /// 分页查询 /// </summary> /// <param name="start">分页开始条数</param> /// <param name="end">分页结束条数</param> /// <returns>返回查询到的list集合</returns> public List<NewInfo> GetPageEntityList(int start,int end) { string sql = "select * from(select row_number()over(order by id)as num,*from T_News)as t where t.num>=@start and t.num<=@end"; SqlParameter[] pms = { new SqlParameter("@start",SqlDbType.Int), new SqlParameter("@end",SqlDbType.Int), }; pms[0].Value = start; pms[1].Value = end; DataTable dt = SqlHelper.ExcuteDataTable(sql,CommandType.Text,pms); List<NewInfo> newList = null; if (dt.Rows.Count>0) { newList = new List<NewInfo>(); NewInfo newinfo = null; foreach (DataRow item in dt.Rows) { newinfo = new NewInfo(); LoadEntity(item,newinfo); newList.Add(newinfo); } } return newList; } /// <summary> /// 查询出页面条数 /// </summary> /// <returns></returns> public int GetRecordCount() { string sql = "select count(*) from T_News"; int count = Convert.ToInt32(SqlHelper.ExecuteScalar(sql,CommandType.Text)); return count; }
在BLL层中建立NewInfoServices(里面存放对新闻信息的逻辑处理)
DAL.NewInfoDal NewInfoDal = new DAL.NewInfoDal(); /// <summary> /// 分页查询数据 /// </summary> /// <param name="pageIndex">当前页码值</param> /// <param name="pageSize">一个多少条数据</param> /// <returns></returns> public List<NewInfo> GetPageEntityList(int pageIndex, int pageSize) { int start = (pageIndex - 1) * pageSize + 1; int end = pageSize * pageIndex; return NewInfoDal.GetPageEntityList(start,end); } /// <summary> /// 查询出页面的记录数 /// </summary> /// <returns></returns> public int GetRecordCount() { return NewInfoDal.GetRecordCount(); }
我们把新闻管理的url指定为/NewInfo/Index
那么就要新建NewInfo控制器 Index视图就是新闻管理页面的主页了。
新闻管理主页的布局很简单就是一个表格,所以就先在body里面写了一表格
<body> <div> <table id="tt"></table> </div> </body/>
这里用到的是easyui的框架,所以先引用文件。
然后就是通过写js代码来显示出表格的行和列
<script type="text/javascript"> $(function () { //初始化表格 initTable(); }); //初始化表格 function initTable() { $("#tt").datagrid({ //指向一个地址,当表格加载完成后自动请求该地址 //自动向后台发送 rows 当前页多少条数据 page:当前页 //要求返回的数据json对象 {total:200,rows:[{},{}]} url: '/NewInfo/ShowNewsList', title: "新闻管理", fitColumns: true, height: $(window).height()-10, idField: 'Id', //后台返回数据中的主键列。一定注意大小写。 loadMsg: "正在加载新闻信息........", pagination: true, //启用分页 singleSelect: true, //只允许选中一行 pageSize: 10, //一页默认多少条 pageNumber: 1, //默认页 rownumbers: true,//行号 pageList: [10, 20, 30], //允许一页多少条数据 queryParams: {}, //异步请求可以额外传递的数据 columns: [[ { field: 'ck', checkbox: true, align: 'left', width: 50 }, // 设置cheakbox { field: 'Title', title: '标题', width: 120 }, { field: 'SubDateTime', title: '发布时间', width: 80, formatter: ChangeDateFormat, }, { field: 'Author', title: '作者', width: 80 }, { field: 'operate', title: '操作', align: 'center', width: $(this).width() * 0.1, formatter: function (value, row, index) { var str = ""; str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="detail" id="detail" class="easyui-linkbutton" onclick="showDetail('+row.Id+')"></a>'; str += ' ', str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="update" id="update" class="easyui-linkbutton" onclick="updateNewInfo(' + row.Id + ')" ></a>'; str += ' ', str += '<a href="#" rel="external nofollow" rel="external nofollow" rel="external nofollow" name="delete" id="delete" class="easyui-linkbutton" onclick="deleteNewInfo(' + row.Id + ')" ></a>'; return str; } } ]], onLoadSuccess: function (data) { $("a[name='detail']").linkbutton({ text: '详情', plain: true, iconCls: 'icon-more' }); $("a[name='update']").linkbutton({ text: '编辑', plain: true, iconCls: 'icon-edit' }); $("a[name='delete']").linkbutton({ text: '删除', plain: true, iconCls: 'icon-cancel' }); ////点击详情按钮 //clickDetail(); }, toolbar: [{ id: 'btnAdd', text: '添加', iconCls: 'icon-add', handler: function () { addBtnClick(); //添加新闻 } }], }); }
要完成数据的显示则还需要查询数据库。
根据 url: '/NewInfo/ShowNewsList', 所以需要在NewInfo控制器下建立ShowNewsList方法
/// <summary> /// 分页展示数据 /// </summary> /// <returns></returns> public JsonResult ShowNewsList() { //要求返回的数据json对象 {total:200,rows:[{},{}]} int pageSize = int.Parse(Request["rows"]??"10"); int pageIndex = int.Parse(Request["page"]??"1"); List<NewInfo> newInfoList= NewInfoBll.GetPageEntityList(pageIndex, pageSize); //查询所有数据 var allNews = NewInfoBll.GetRecordCount(); //把totle和rows:[{},{}]一起返回 //先建立一个匿名类 var dataJson = new { total = allNews, rows = newInfoList }; var json = Json(dataJson, JsonRequestBehavior.AllowGet); return json; }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持猪先飞。
相关文章
- 这篇文章主要介绍了SpringMVC文件上传原理及实现过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-07-15
C# MVC模式中应该怎样区分应用程序逻辑(Controller层)和业务逻辑(Model层)?
这篇文章主要介绍了C# MVC模式中应该怎样区分应用程序逻辑(Controller层)和业务逻辑(Model层)?,这也小编做.NET项目时经常思考和让人混乱的一个问题,这篇文章写的挺好,一下清晰了许多,需要的朋友可以参考下...2020-06-25使用Maven 搭建 Spring MVC 本地部署Tomcat的详细教程
这篇文章主要介绍了使用Maven 搭建 Spring MVC 本地部署Tomcat,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2021-08-16- 这篇文章主要介绍了SpringMvc自动装箱及GET请求参数原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-19
- 这篇文章主要介绍了SpringMvc获取请求头请求体消息过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-09-17
Springmvc ResponseBody响应json数据实现过程
这篇文章主要介绍了Springmvc ResponseBody响应json数据实现过程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-26- 本篇文章介绍了,基于C#后台调用跨域MVC服务及带Cookie验证的实现。需要的朋友参考下...2020-06-25
MybatisPlus实现分页查询和动态SQL查询的示例代码
本文主要介绍了MybatisPlus实现分页查询和动态SQL查询的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-09-30- 这篇文章主要为大家介绍了javascript中的MVC模式,MVC是一种软件架构模式,一般把软件模式分为三部分,本文就针对MVC模式的三部分进行讲解,感兴趣的小伙伴们可以参考一下...2016-02-01
- Spring MVC是Spring系列框架中使用频率最高的部分。不管是Spring Boot还是传统的Spring项目,只要是Web项目都会使用到Spring MVC部分。因此程序员一定要熟练掌握MVC部分。本篇博客简要分析Spring MVC处理一个请求的流程。...2021-02-06
- 这篇文章主要介绍了仅30行代码实现Javascript中的MVC的方法,MVC的基础是观察者模式,这是实现model和view同步的关键,想要深入了解的朋友可以参考本文...2016-02-18
使用jQuery.form.js/springmvc框架实现文件上传功能
这篇文章主要介绍了使用jQuery.form.jsspringmvc框架实现文件上传功能,非常具有参考借鉴价值,感兴趣的朋友一起学习吧...2016-05-14- 这篇文章主要介绍了SpringMVC和rabbitmq集成的使用案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-01-20
- 这篇文章主要介绍了CocosCreator MVC架构,同学们在制作游戏过程中,尽量使用一些架构,会避免很多问题...2021-04-16
- 本文主要讲解AngularJS MVC体系结构,这里提供详细的教程供大家学习参考,有需要的小伙伴可以参考下...2016-08-24
web面试MVC与MVVM区别及Vue为什么不完全遵守MVVM解答
这篇文章主要介绍了web面试中常问问题,MVC与MVVM区别以及Vue为什么不完全遵守MVVM的难点解答,有需要的朋友可以借鉴参考下,希望能够有所帮助...2021-09-24- 本篇文章主要介绍了ASP.NET MVC API 接口验证的示例代码,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2021-09-22
SpringMVC中的handlerMappings对象用法
这篇文章主要介绍了SpringMVC中的handlerMappings对象用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2021-09-26ASP.NET Core MVC如何实现运行时动态定义Controller类型
这篇文章主要介绍了ASP.NET Core MVC如何实现运行时动态定义Controller类型,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-09-22- 这篇文章主要介绍了SpringMVC表单提交参数400错误解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-21