牛腩新闻发布系统 aspnetpager分页(使用GridView,没有使用多表查询)

1:插入一个随机函数的小方法。

image

2: .net  3.5里面 新建类型的时候 直接赋值。

image

隐藏行号 复制代码 这是一段程序代码。
  1. nm.Insert(new Model.News() {    //为什么这里是 Model.News 呢?是因为我们在上面没有写 Using Model 层 
    
  2.            Title=title,Content=content,CaId=caid
    
  3.            });
    

              

                  如何使用  aspnetpager呢? 有3个准备工作  

1:http://www.webdiyer.com/Controls/AspNetPager/Downloads  下载 

image

2:将 AspNetPager.dll  和 AspNetPager.xml  考入到项目的 bin 文件夹  并在Bin文件夹上引用AspNetPager。(这一步其实可以用不,执行下面的第三部,就会把第二步执行一次的,不过这个 xml 好像不会自动考进来,所以我们还是把第一步 执行比较好)

image    拷贝到   牛腩新闻发布系统的Bin文件夹,并引用。

3:在VS2010 工具栏上面,右键新建项,然后找到刚才 bin文件的  AspNetPager.dll ,这样在工具栏就可以使用  AspNetPager了,将控件拖到你需要分页的地方,就可以了。

image image

然后就可以在工具栏看到 AspNetPagers 控件了

image

                  下面开始如何分页的步骤

1:分页控件,我们上面已经做好了

2:在sql2005以及以上,运行分页的存储过程

-- =============================================
-- Author:		牛腩
-- Create date: 2009-07-22 12:41
-- Description:	分页,用到了ROW_NUMBER()
-- =============================================
create PROCEDURE [dbo].[proc_FenYe]
@tblName   varchar(255),       -- 表名
@strGetFields varchar(1000) = '*', -- 需要返回的列,默认*
@strOrder varchar(255)='',      -- 排序的字段名,必填
@strOrderType varchar(10)='ASC', -- 排序的方式,默认ASC
@PageSize   int = 10,          -- 页尺寸,默认
@PageIndex int = 1,           -- 页码,默认
@strWhere varchar(1500) = '' -- 查询条件(注意: 不要加where)
AS

declare @strSQL   varchar(5000)

if @strWhere !=''
set @strWhere=' where '+@strWhere

set @strSQL=
'SELECT * FROM ('+
	'SELECT ROW_NUMBER() OVER (ORDER BY '+@strOrder+' '+@strOrderType+') AS pos,'+@strGetFields+' '+
	'FROM '+@tblName+' '+@strWhere+
') AS sp WHERE pos BETWEEN '+str((@PageIndex-1)*@PageSize+1)+' AND '+str(@PageIndex*@PageSize)

exec (@strSQL)
 

//这里是在存储过程里面的调用方法,是可以使用多表查询的。
EXEC    [proc_ShowPage]   
        @tblName = N'(project p inner join projectca ca on p.caid=ca.id)',   
        @strGetFields = N'p.title,ca.caname',   
        @strOrder = N'p.id',   
        @strOrderType = N'desc',   
        @PageSize = 12,   
        @PageIndex = 1,   
        @strWhere = N''  

3:我们去NewsDao 里面去执行这个存储过程。

小技巧,我们不用 #region  来注释

image   当我们用#region 注释的时候,看不到返回什么类型的值

所以我们不用 #region注释 还是使用  ///<summary> 但是我们把注释的文字 写在 summary的后面。下面就是效果

image

回到正题,我们在NewsDao 里面执行  这个存储过程

image

同样,在BLL里面  也是要 多弄一个函数

image

最后在前台的页面,我们使用 GridView 调用如下

image

原文地址:https://www.cnblogs.com/iceicebaby/p/2372021.html