我用的是AspNetPager分页,出现问题了,
http://zj.jiadong.net.cn/haodiduan/wangpulist/21.html
这个翻页的时候我在调试代码的时候总是接受两个一样的参数。
我用了伪静态,
我在代码中有个接受上面的21等等。
第一页没有问题,但是在翻页的时候我调试的代码得到的结果是type=21&type=21这是为什么呢?
这个是我的webconfig配置文件。请高人指教 <RewriterRule>
        <LookFor>~/wangpuList/(\d+)\.html</LookFor>
        <SendTo>~/wangpuList2.aspx?type=$1</SendTo>
      </RewriterRule>

解决方案 »

  1.   

    我感觉有可能是AspNetPager的问题,
      

  2.   


    CREATE PROCEDURE Up_wangpu_Get
    @Type int,
    @AdId int,
    @PageSize int=20,
    @PageIndex int=1,
    @WhereString nvarchar(500)
    AS
    declare @SqlStr nvarchar(2000)
    declare @Filter nvarchar(2000)
    if(@WhereString ='')
    begin
     set @WhereString=' where '
     set @Filter=''
    end 
    else
    begin
    set @Filter=' where '+@WhereString
    set @WhereString=' where '+@WhereString+' and '
    end

    if(@Type=1)--获取单条记录
    begin
    select * from hddWangpu where id=@AdId
    end
    if(@Type=2)--获取列表
    begin
    if(@PageIndex=1)
    begin
    Set @SqlStr = N'Select Top '+Convert(Nvarchar(10),@PageSize)+' * from hddwangpu'+@Filter +' Order By id Desc'
    end
    else
    begin
    Set @SqlStr = N'Select Top '+Convert(Nvarchar(10),@PageSize)+' * from hddwangpu'+@WhereString+' id<(Select Min(id) From(Select Top '+Convert(Nvarchar(10),(@PageIndex-1)*@PageSize)+' id from hddwangpu  '+@Filter+' Order By id Desc)a) order By id Desc'
                                
    end

    Execute Sp_ExecuteSql @SqlStr

    Set @SqlStr = 'select count(*) from hddwangpu '+@Filter

    Execute Sp_ExecuteSql @SqlStr
    endif(@Type=3)--获取列表显示在前台页面所有的收费的信息将排列在免费的前面     --我调用的是这个,
    begin
    if(@PageIndex=1)
    begin
    Set @SqlStr = N'Select Top '+Convert(Nvarchar(10),@PageSize)+' * from hddwangpu'+@Filter +' order by [free] desc,adddate desc'
    end
    else
    begin
    Set @SqlStr = N'Select Top '+Convert(Nvarchar(10),@PageSize)+' * from hddwangpu'+@WhereString+' id<(Select Min(id) From(Select Top '+Convert(Nvarchar(10),(@PageIndex-1)*@PageSize)+' id from hddwangpu  '+@Filter+' order by [free] desc,adddate desc)a) order by [free] desc,adddate desc'
                                
    end

    Execute Sp_ExecuteSql @SqlStr

    Set @SqlStr = 'select count(*) from hddwangpu '+@Filter

    Execute Sp_ExecuteSql @SqlStr
    end
    GO我差清楚了,是存储过程应该有问题,
      

  3.   

    多谢。
    已经解决了,吧adddate改成id就好了。
      

  4.   

    你分页控件  按钮 路径设置成 url传参。不要用服务器按钮。aspnetpager里面有一个属性改一下
      

  5.   

    AspNetPager 使用教程 --------------------------------------------------------------------------------
     
    AspNetPager分页控件--使用方法 --------------------------------------------------------------------------------
     
    asp.net结合aspnetpager使用SQL2005的存储过程分页 --------------------------------------------------------------------------------
     
    用aspnetpager实现datalist分页的代码  http://www.bcbbs.net/Search.aspx?bcbbsKey=AspNetPager&t=1&p=1