C#关于分页显示
---<PS:本人菜鸟,大手子还请高台贵手>
以下是我今天在做分页时所遇到的一个分页显示问题,使用拼写SQL的方式写的,同类型可参考哦~
-----------------------------------------------------------------------------------------------------------
---------------------------------------------Model-Page----------------------------------------------------
-----------------------------------------------------------------------------------------------------------
public class page<T>
{
public int PageIndex { get; set; }
public int PageSzie { get; set; }
public int DbCount { get; set; }
public List<T> Dblist { get; set; }
}
----------------------------------------------------------------------------------------------------
---------------------------------------------DAL----------------------------------------------------
----------------------------------------------------------------------------------------------------
SqlConnection con = new SqlConnection("Data Source=.;Initial Catalog=CMS;Integrated Security=True");//数据库连接字符串
/// <summary>
/// 查询总数
/// </summary>
/// <returns></returns>
public int SelectCount()
{
con.Open();
string sql = "SELECT COUNT(*) FROM AdvertNews";
SqlCommand com = new SqlCommand(sql, con);
int Count = Convert.ToInt32(com.ExecuteScalar());
con.Close();
return Count;
}
/// <summary>
/// 广告新闻 分页显示
/// </summary>
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public List<AdvertNews> Adv_Show(int PageIndex, int PageSize)
{
con.Open();
string sql = "";
sql += "SELECT * FROM (";
sql += "SELECT ROW_NUMBER() OVER(ORDER BY AdvertNews_Id)id,AdvertNews_Id,AdvertNews_Title,AdvertNews_Content,AdvertNews_Writer,AdvertNews_Date,AdvertNews_State,AdvertNews_Url FROM AdvertNews";
sql += ")T WHERE T.id >=" + ((PageIndex - 1) * PageSize + 1);
sql += "AND T.id <=" + PageIndex * PageSize;
SqlCommand com = new SqlCommand(sql, con);
SqlDataReader reader = com.ExecuteReader();
List<AdvertNews> list = new List<AdvertNews>();
while (reader.Read())
{
AdvertNews a = new AdvertNews();
a.AdvertNews_Id = Convert.ToInt32(reader["AdvertNews_Id"]);
a.AdvertNews_Title = reader["AdvertNews_Title"].ToString();
a.AdvertNews_Content = reader["AdvertNews_Content"].ToString();
a.AdvertNews_Writer = reader["AdvertNews_Writer"].ToString();
a.AdvertNews_Date = Convert.ToDateTime(reader["AdvertNews_Date"]);
a.AdvertNews_State = Convert.ToInt32(reader["AdvertNews_State"]);
a.AdvertNews_Url = reader["AdvertNews_Url"].ToString();
list.Add(a);
}
con.Close();
return list;
}
----------------------------------------------------------------------------------------------------
---------------------------------------------BLL----------------------------------------------------
----------------------------------------------------------------------------------------------------
AdvertNews_Dal dal = new AdvertNews_Dal();
public page<AdvertNews> Adv_Show(int PageIndex, int PageSize)
{
page<AdvertNews> p = new page<AdvertNews>();
p.PageIndex = PageIndex;
p.PageSzie = PageSize;
p.DbCount = dal.SelectCount();
p.Dblist = dal.Adv_Show(PageIndex, PageSize);
return p;
}
----------------------------------------------------------------------------------------------------
---------------------------------------------Controller---------------------------------------------
----------------------------------------------------------------------------------------------------
AdvertNews_Bll adv_bll = new AdvertNews_Bll();
public ActionResult Adv_Show()
{
return View(adv_bll.Adv_Show(1,8));
}
public ActionResult Adv_Second_Show(int id)
{
return View("Adv_Show", adv_bll.Adv_Show(id, 8));
}
----------------------------------------------------------------------------------------------
---------------------------------------------前台---------------------------------------------
----------------------------------------------------------------------------------------------
<table>
<tr>
<td>新闻标号</td>
<td>新闻标题</td>
</tr>
@foreach (var item in Model.Dblist)
{
<tr>
<td>@item.AdvertNews_Id</td>
<td>@item.AdvertNews_Title</td>
</tr>
}
</table>
<div style="float:right;">
<a href="/AdvertNews/Adv_Show">首页</a>
@if (Model.PageIndex > 1)
{
<a href="/AdvertNews/Adv_Second_Show/@(Model.PageIndex-1)">上一页</a>
}
@if (Model.DbCount % Model.PageSzie == 0)
{
if (Model.PageIndex < Model.DbCount / Model.PageSzie)
{
<a href="/AdvertNews/Adv_Second_Show/@(Model.PageIndex+1)">下一页</a>
}
}
else
{
if (Model.PageIndex < Model.DbCount / Model.PageSzie + 1)
{
<a href="/AdvertNews/Adv_Second_Show/@(Model.PageIndex+1)">下一页</a>
}
}
@if (Model.DbCount % Model.PageSzie == 0)
{
<a href="/AdvertNews/Adv_Second_Show/@(Model.DbCount/Model.PageSzie)">尾页</a>
}
else
{
<a href="/AdvertNews/Adv_Second_Show/@(Model.DbCount/Model.PageSzie+1)">尾页</a>
}
</div>
<div style="float:left;">
@{
var page = 0;
if (Model.DbCount % Model.PageSzie == 0)
{
page = Model.DbCount / Model.PageSzie;
}
else
{
page = Model.DbCount / Model.PageSzie + 1;
}
<span>
数据总条数:@Model.DbCount |
总页数为:@page |
当前页:@Model.PageIndex
</span>
}
</div>
C#关于分页显示的更多相关文章
- 多页的TIFF图片在aspx页面分页显示
一.逻辑实现:将数据库中的二进制TIFF图片读出并分页显示在页面上. 1.显示界面 public FrameDimension MyGuid; ; ; public static MemoryStre ...
- asp.net gridview 分页显示不出来的问题
使用gridview分页显示,在点击第二页的时候显示空白,无数据. 原因是页面刷新,绑定datatable未执行 解决方法: 1.将datatable设置为静态 2.在OnPageIndexChang ...
- SSRS(rdl报表)分页显示表头和对表头的冻结处理
基础环境 最近在公司做西门子某系统的二次开发,需要用到SQLServer Reporting Services(SSRS).我们用的SQL版本是SQLServer 2008 R2:在设计报表时,表格用 ...
- JSP分页显示实例(基于Bootstrap)
首先介绍一款简单利落的分页显示利器:bootstrap-paginator 效果截图: GitHub官方下载地址:https://github.com/lyonlai/bootstrap-pagina ...
- scroll事件实现监控滚动条并分页显示示例(zepto.js)
scroll事件实现监控滚动条并分页显示示例(zepto.js ) 需求:在APP落地页上的底部位置显示此前其他用户的购买记录,要求此div盒子只显示3条半,但一页有10条,div内的滑动条滑到一页 ...
- 如何对sharepoint图片库的文件夹的图片按照时间排序并分页显示
/// <summary> /// 获取图片库第一层文件夹--根据文件夹名称排序 /// </summary> /// <param name="siteUrl ...
- php中关于 left join 的分页显示
/* * 统计商机搜索总条数信息 * ftt * 2015-11-10 10:13:15 */ public function getBusinessCount($btype='',$buname=' ...
- 《ASP.NET1200例》<asp:DataList>分页显示图片
aspx页面代码 <asp:DataList ID="dlPhoto" runat="server" Height="137px" W ...
- SSh结合Easyui实现Datagrid的分页显示
近日学习Easyui,发现非常好用,界面很美观.将学习的心得在此写下,这篇博客写SSh结合Easyui实现Datagrid的分页显示,其他的例如添加.修改.删除.批量删除等功能将在后面的博客一一写来. ...
随机推荐
- 在 ML2 中配置 OVS flat network - 每天5分钟玩转 OpenStack(133)
前面讨论了 OVS local network,今天开始学习 flat network. flat network 是不带 tag 的网络,宿主机的物理网卡通过网桥与 flat network 连接, ...
- 在ASP.NET Core中使用百度在线编辑器UEditor
在ASP.NET Core中使用百度在线编辑器UEditor 0x00 起因 最近需要一个在线编辑器,之前听人说过百度的UEditor不错,去官网下了一个.不过服务端只有ASP.NET版的,如果是为了 ...
- 如何在高并发环境下设计出无锁的数据库操作(Java版本)
一个在线2k的游戏,每秒钟并发都吓死人.传统的hibernate直接插库基本上是不可行的.我就一步步推导出一个无锁的数据库操作. 1. 并发中如何无锁. 一个很简单的思路,把并发转化成为单线程.Jav ...
- 02.SQLServer性能优化之---牛逼的OSQL----大数据导入
汇总篇:http://www.cnblogs.com/dunitian/p/4822808.html#tsql 上一篇:01.SQLServer性能优化之----强大的文件组----分盘存储 http ...
- WebApi - 路由
这段时间的博客打算和大家一起分享下webapi的使用和心得,主要原因是群里面有朋友说希望能有这方面的文章分享,随便自己也再回顾下:后面将会和大家分不同篇章来分享交流心得,希望各位多多扫码支持和点赞,谢 ...
- javascript表单的Ajax 提交插件的使用
Ajax 提交插件 form.js 表单的下载地址:官方网站:http://malsup.com/jquery/form/ form.js 插件有两个核心方法:ajaxForm()和ajaxSubmi ...
- Oracle 数据库知识汇总篇
Oracle 数据库知识汇总篇(更新中..) 1.安装部署篇 2.管理维护篇 3.数据迁移篇 4.故障处理篇 5.性能调优篇 6.SQL PL/SQL篇 7.考试认证篇 8.原理体系篇 9.架构设计篇 ...
- ASP.NET中常用的优化性能的方法
1. 数据库访问性能优化 数据库的连接和关闭 访问数据库资源需要创建连接.打开连接和关闭连接几个操作.这些过程需要多次与数据库交换信息以通过身份验证,比较耗费服务器资源.ASP.NET中提供了连接池( ...
- ecshop验证码
<?php //仿制ecshop验证码(四位大写字母和数字.背景) //处理码值(四位大写字母和数字组成) //所有的可能的字符集合 $chars = 'ABCDEFGHIJKLMNOPQRST ...
- javascript 笔记!
1.通过javascript向文档中输出文本 document是javascript的内置对象,代表浏览器的文档部分 document.write("Hello Javascript&quo ...