侯体宗的博客
  • 首页
  • Hyperf版
  • beego仿版
  • 人生(杂谈)
  • 技术
  • 关于我
  • 更多分类
    • 文件下载
    • 文字修仙
    • 中国象棋ai
    • 群聊
    • 九宫格抽奖
    • 拼图
    • 消消乐
    • 相册

MVC+EasyUI+三层新闻网站建立 分页查询数据功能(七)

技术  /  管理员 发布于 5年前   338

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; }


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


  • 上一条:
    MVC+EasyUI+三层新闻网站建立 详情页面制作方法(八)
    下一条:
    MVC+EasyUI+三层新闻网站建立 tabs标签制作方法(六)
  • 昵称:

    邮箱:

    0条评论 (评论内容有缓存机制,请悉知!)
    最新最热
    • 分类目录
    • 人生(杂谈)
    • 技术
    • linux
    • Java
    • php
    • 框架(架构)
    • 前端
    • ThinkPHP
    • 数据库
    • 微信(小程序)
    • Laravel
    • Redis
    • Docker
    • Go
    • swoole
    • Windows
    • Python
    • 苹果(mac/ios)
    • 相关文章
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 2024.07.09日OpenAI将终止对中国等国家和地区API服务(0个评论)
    • 2024/6/9最新免费公益节点SSR/V2ray/Shadowrocket/Clash节点分享|科学上网|免费梯子(1个评论)
    • 国外服务器实现api.openai.com反代nginx配置(0个评论)
    • 近期文章
    • 智能合约Solidity学习CryptoZombie第一课:生成一只你的僵尸(0个评论)
    • 在go中实现一个常用的先进先出的缓存淘汰算法示例代码(0个评论)
    • 在go+gin中使用"github.com/skip2/go-qrcode"实现url转二维码功能(0个评论)
    • 在go语言中使用api.geonames.org接口实现根据国际邮政编码获取地址信息功能(1个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf分页文件功能(0个评论)
    • gmail发邮件报错:534 5.7.9 Application-specific password required...解决方案(0个评论)
    • 欧盟关于强迫劳动的规定的官方举报渠道及官方举报网站(0个评论)
    • 在go语言中使用github.com/signintech/gopdf实现生成pdf文件功能(0个评论)
    • Laravel从Accel获得5700万美元A轮融资(0个评论)
    • 在go + gin中gorm实现指定搜索/区间搜索分页列表功能接口实例(0个评论)
    • 近期评论
    • 122 在

      学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..
    • 123 在

      Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..
    • 原梓番博客 在

      在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..
    • 博主 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..
    • 1111 在

      佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
    • 2016-10
    • 2016-11
    • 2017-07
    • 2017-08
    • 2017-09
    • 2018-01
    • 2018-07
    • 2018-08
    • 2018-09
    • 2018-12
    • 2019-01
    • 2019-02
    • 2019-03
    • 2019-04
    • 2019-05
    • 2019-06
    • 2019-07
    • 2019-08
    • 2019-09
    • 2019-10
    • 2019-11
    • 2019-12
    • 2020-01
    • 2020-03
    • 2020-04
    • 2020-05
    • 2020-06
    • 2020-07
    • 2020-08
    • 2020-09
    • 2020-10
    • 2020-11
    • 2021-04
    • 2021-05
    • 2021-06
    • 2021-07
    • 2021-08
    • 2021-09
    • 2021-10
    • 2021-12
    • 2022-01
    • 2022-02
    • 2022-03
    • 2022-04
    • 2022-05
    • 2022-06
    • 2022-07
    • 2022-08
    • 2022-09
    • 2022-10
    • 2022-11
    • 2022-12
    • 2023-01
    • 2023-02
    • 2023-03
    • 2023-04
    • 2023-05
    • 2023-06
    • 2023-07
    • 2023-08
    • 2023-09
    • 2023-10
    • 2023-12
    • 2024-02
    • 2024-04
    • 2024-05
    • 2024-06
    • 2025-02
    • 2025-07
    Top

    Copyright·© 2019 侯体宗版权所有· 粤ICP备20027696号 PHP交流群

    侯体宗的博客