zoukankan      html  css  js  c++  java
  • 牛腩新闻发布系统 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

  • 相关阅读:
    Sqlserver 还原那些事
    Sqlserver CheckPoint 在三种恢复模式中的不同表现
    转 SQL Server中关于的checkpoint使用说明
    类继承中的 隐藏和重写的 区别
    转 关于C#中派生类调用基类构造函数的理解
    Sqlserver 笔记 持续更新
    Asp.net 执行回调操作后 无法更新ViewState的问题
    c# double decimal
    table用模板生成的问题
    MVC接收列表参数
  • 原文地址:https://www.cnblogs.com/iceicebaby/p/2372021.html
Copyright © 2011-2022 走看看