原本程序是可以正常使用的 结果我升级了vs2008sp1后还有对aspnetpager当时引用的dll文件删除了 就是添加到工具栏里的时候选择的那个文件 不过现在程序bin里面还是有的 我也重新添加了 就出问题了 现在只能显示首页了 不过第几页和页数还是正常的 就是第一液翻过去后就没东西了 各位大神帮我看看错在哪里了 这个到底怎么回事呢
aspx文件
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="house_page.ascx.cs" Inherits="Control_house_page" %>
<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>
<div id="page">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<div id="pageview0">
<div id="pv1">是否中介</div>
<div id="pv2">小区名称</div>
<div id="pv3">所在区域</div>
<div id="pv4">户型结构</div>
<div id="pv5">房屋类型</div>
<div id="pv6">房屋面积</div>
<div id="pv7">出售价格</div>
<div id="pv8">发布日期</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div onmouseover="this.style.backgroundColor='#CC99FF'" onmouseout="this.style.backgroundColor='#ffffff'" id="pageview1">
<div id="pv1"><%#DataBinder.Eval(Container.DataItem, "House_ifzhongjie")%></div>
<div id="pv2">[<a href="../housedetail.aspx?<%#DataBinder.Eval(Container.DataItem, "House_id")%>"><%#DataBinder.Eval(Container.DataItem, "House_name")%></a>]</div>
<div id="pv3"><%#DataBinder.Eval(Container.DataItem, "House_local")%></div>
<div id="pv4"><%#DataBinder.Eval(Container.DataItem, "House_usetype")%></div>
<div id="pv5"><%#DataBinder.Eval(Container.DataItem, "House_type")%></div>
<div id="pv6"><%#DataBinder.Eval(Container.DataItem, "House_area")%></div>
<div style="color: #FF6600" id="pv7"><%#DataBinder.Eval(Container.DataItem, "House_price")%>万</div>
<div id="pv8"><%#DataBinder.Eval(Container.DataItem, "House_public_time", "{0:d}")%></div>
</div>
</ItemTemplate>
<AlternatingItemTemplate>
<div onmouseover="this.style.backgroundColor='#CC99FF'" onmouseout="this.style.backgroundColor='#D7D7FF'" id="pageview2">
<div id="pv1"><%#DataBinder.Eval(Container.DataItem, "House_ifzhongjie")%></div>
<div id="pv2">[<a href="../housedetail.aspx?<%#DataBinder.Eval(Container.DataItem, "House_id")%>"><%#DataBinder.Eval(Container.DataItem, "House_name")%></a>]</div>
<div id="pv3"><%#DataBinder.Eval(Container.DataItem, "House_local")%></div>
<div id="pv4"><%#DataBinder.Eval(Container.DataItem, "House_usetype")%></div>
<div id="pv5"><%#DataBinder.Eval(Container.DataItem, "House_type")%></div>
<div id="pv6"><%#DataBinder.Eval(Container.DataItem, "House_area")%></div>
<div style="color: #FF6600" id="pv7"><%#DataBinder.Eval(Container.DataItem, "House_price")%>万</div>
<div id="pv8"><%#DataBinder.Eval(Container.DataItem, "House_public_time", "{0:d}")%></div>
</div>
</AlternatingItemTemplate>
</asp:Repeater>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
showcustominfosection="Left" width="100%"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"
ShowPageIndexBox="Never" CssClass="paginator" CurrentPageButtonClass="cpb"
onpagechanged="AspNetPager1_PageChanged" PageSize="20" FirstPageText="首页"
LastPageText="最后一页" NextPageText="下一页" PrevPageText="上一页" UrlPaging="True"
CustomInfoSectionWidth="">
</webdiyer:AspNetPager>
</div>
aspx.cs文件
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Wuqi.Webdiyer;
public partial class Control_house_page : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.HouseBll bh = new BLL.HouseBll();
AspNetPager1.RecordCount = bh.pagecount();
//Label1.Text = bh.pagecount().ToString();
//Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
//Repeater1.DataBind();
}
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BLL.HouseBll bh = new BLL.HouseBll();
//AspNetPager1.RecordCount = bh.pagecount(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataBind();
}
}
Dal文件
public int pagecount()
{
SqlHelper sh = new SqlHelper();
SqlParameter[] parameters = {
new SqlParameter("@pageindex", null),
new SqlParameter("@pagesize", null),
new SqlParameter("@docount", true)};
SqlDataReader sdr = sh.RunProcedure("House_info_page", parameters);
sdr.Read();
int hcount;
hcount = sdr.GetInt32(0);
sdr.Close();
return hcount;
}
public List<houseModel> housepage(int pageindex, int pagesize)
{
SqlHelper sh = new SqlHelper();
SqlParameter[] parameters = {
new SqlParameter("@pageindex", pageindex),
new SqlParameter("@pagesize", pagesize),
new SqlParameter("@docount", false)};
SqlDataReader sdr = sh.RunProcedure("House_info_page", parameters);
List<houseModel> li = new List<houseModel>();
while (sdr.Read())
{
houseModel hm = new houseModel();
hm.House_name = sdr["House_name"].ToString();
hm.House_usetype = sdr["House_usetype"].ToString();
hm.House_area = Convert.ToDecimal(sdr["House_area"].ToString());
hm.House_price = Convert.ToDecimal(sdr["House_price"].ToString());
hm.House_public_time = Convert.ToDateTime(sdr["House_public_time"].ToString());
hm.House_id = Convert.ToInt32(sdr["House_id"].ToString());
hm.House_type = sdr["House_type"].ToString();
hm.House_ifzhongjie = sdr["House_ifzhongjie"].ToString();
hm.House_local = sdr["House_local"].ToString();
li.Add(hm);
}
sdr.Close();
return li;
}
aspx文件
<%@ Control Language="C#" AutoEventWireup="true" CodeFile="house_page.ascx.cs" Inherits="Control_house_page" %>
<%@ Register assembly="AspNetPager" namespace="Wuqi.Webdiyer" tagprefix="webdiyer" %>
<div id="page">
<asp:Repeater ID="Repeater1" runat="server">
<HeaderTemplate>
<div id="pageview0">
<div id="pv1">是否中介</div>
<div id="pv2">小区名称</div>
<div id="pv3">所在区域</div>
<div id="pv4">户型结构</div>
<div id="pv5">房屋类型</div>
<div id="pv6">房屋面积</div>
<div id="pv7">出售价格</div>
<div id="pv8">发布日期</div>
</div>
</HeaderTemplate>
<ItemTemplate>
<div onmouseover="this.style.backgroundColor='#CC99FF'" onmouseout="this.style.backgroundColor='#ffffff'" id="pageview1">
<div id="pv1"><%#DataBinder.Eval(Container.DataItem, "House_ifzhongjie")%></div>
<div id="pv2">[<a href="../housedetail.aspx?<%#DataBinder.Eval(Container.DataItem, "House_id")%>"><%#DataBinder.Eval(Container.DataItem, "House_name")%></a>]</div>
<div id="pv3"><%#DataBinder.Eval(Container.DataItem, "House_local")%></div>
<div id="pv4"><%#DataBinder.Eval(Container.DataItem, "House_usetype")%></div>
<div id="pv5"><%#DataBinder.Eval(Container.DataItem, "House_type")%></div>
<div id="pv6"><%#DataBinder.Eval(Container.DataItem, "House_area")%></div>
<div style="color: #FF6600" id="pv7"><%#DataBinder.Eval(Container.DataItem, "House_price")%>万</div>
<div id="pv8"><%#DataBinder.Eval(Container.DataItem, "House_public_time", "{0:d}")%></div>
</div>
</ItemTemplate>
<AlternatingItemTemplate>
<div onmouseover="this.style.backgroundColor='#CC99FF'" onmouseout="this.style.backgroundColor='#D7D7FF'" id="pageview2">
<div id="pv1"><%#DataBinder.Eval(Container.DataItem, "House_ifzhongjie")%></div>
<div id="pv2">[<a href="../housedetail.aspx?<%#DataBinder.Eval(Container.DataItem, "House_id")%>"><%#DataBinder.Eval(Container.DataItem, "House_name")%></a>]</div>
<div id="pv3"><%#DataBinder.Eval(Container.DataItem, "House_local")%></div>
<div id="pv4"><%#DataBinder.Eval(Container.DataItem, "House_usetype")%></div>
<div id="pv5"><%#DataBinder.Eval(Container.DataItem, "House_type")%></div>
<div id="pv6"><%#DataBinder.Eval(Container.DataItem, "House_area")%></div>
<div style="color: #FF6600" id="pv7"><%#DataBinder.Eval(Container.DataItem, "House_price")%>万</div>
<div id="pv8"><%#DataBinder.Eval(Container.DataItem, "House_public_time", "{0:d}")%></div>
</div>
</AlternatingItemTemplate>
</asp:Repeater>
<webdiyer:AspNetPager ID="AspNetPager1" runat="server"
showcustominfosection="Left" width="100%"
CustomInfoHTML="共%PageCount%页,当前为第%CurrentPageIndex%页,每页%PageSize%条"
ShowPageIndexBox="Never" CssClass="paginator" CurrentPageButtonClass="cpb"
onpagechanged="AspNetPager1_PageChanged" PageSize="20" FirstPageText="首页"
LastPageText="最后一页" NextPageText="下一页" PrevPageText="上一页" UrlPaging="True"
CustomInfoSectionWidth="">
</webdiyer:AspNetPager>
</div>
aspx.cs文件
using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;
using Wuqi.Webdiyer;
public partial class Control_house_page : System.Web.UI.UserControl
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
BLL.HouseBll bh = new BLL.HouseBll();
AspNetPager1.RecordCount = bh.pagecount();
//Label1.Text = bh.pagecount().ToString();
//Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
//Repeater1.DataBind();
}
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
BLL.HouseBll bh = new BLL.HouseBll();
//AspNetPager1.RecordCount = bh.pagecount(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataBind();
}
}
Dal文件
public int pagecount()
{
SqlHelper sh = new SqlHelper();
SqlParameter[] parameters = {
new SqlParameter("@pageindex", null),
new SqlParameter("@pagesize", null),
new SqlParameter("@docount", true)};
SqlDataReader sdr = sh.RunProcedure("House_info_page", parameters);
sdr.Read();
int hcount;
hcount = sdr.GetInt32(0);
sdr.Close();
return hcount;
}
public List<houseModel> housepage(int pageindex, int pagesize)
{
SqlHelper sh = new SqlHelper();
SqlParameter[] parameters = {
new SqlParameter("@pageindex", pageindex),
new SqlParameter("@pagesize", pagesize),
new SqlParameter("@docount", false)};
SqlDataReader sdr = sh.RunProcedure("House_info_page", parameters);
List<houseModel> li = new List<houseModel>();
while (sdr.Read())
{
houseModel hm = new houseModel();
hm.House_name = sdr["House_name"].ToString();
hm.House_usetype = sdr["House_usetype"].ToString();
hm.House_area = Convert.ToDecimal(sdr["House_area"].ToString());
hm.House_price = Convert.ToDecimal(sdr["House_price"].ToString());
hm.House_public_time = Convert.ToDateTime(sdr["House_public_time"].ToString());
hm.House_id = Convert.ToInt32(sdr["House_id"].ToString());
hm.House_type = sdr["House_type"].ToString();
hm.House_ifzhongjie = sdr["House_ifzhongjie"].ToString();
hm.House_local = sdr["House_local"].ToString();
li.Add(hm);
}
sdr.Close();
return li;
}
解决方案 »
- GridView_RowDataBound事件中获取LinkButton的ID
- 无法识别的属性“xmlns”(web.config文件)
- 关于使用DirectoryInfo类
- asp
- 求一个去除table,tr,td属性的正则表达式
- 在学习JS时遇到个问题,求前辈解决~
- 如何不用JS和iframe来嵌入别一个网站的代码??
- 急救!我的.net2003不能创建asp.net应用程序
- Membership 密码设置问题 (高分问答)
- 100分求教高手解答关于在c#中调用vb.net中的StrConv函数
- 做asp网站系统,后台需要什么语言支持?
- 在Gridview控件中使用模板列显示数据,怎样在后台获取itemtemplate中编辑之前的数据?
(@pagesize int,
@pageindex int,
@docount bit)
asif(@docount=1)
select count(*) from House_info as hcount
else
begin
with temptbl as (
SELECT ROW_NUMBER() OVER (ORDER BY House_public_time desc)AS Row, O.House_id,O.House_name,O.House_local,O.House_usetype,O.House_type,O.House_area,O.House_price,O.House_ifzhongjie,O.House_public_time from House_info O )
SELECT * FROM temptbl where Row between (@pageindex-1)*@pagesize+1 and (@pageindex-1)*@pagesize+@pagesize
end
就这个存储过程
这前面写获得总数
AspNetPager1.RecordCount = bh.pagecount();if (!IsPostBack)
{
bind();
}这是绑定
protect void bind()
{
BLL.HouseBll bh = new BLL.HouseBll();
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
bind();
}你出现的原因就是每次都从新查了一遍,总数要放在外面的!这样他才会算出每页的开始值和结束值了!
你该成这样试试!
AspNetPager1.RecordCount = bh.pagecount();if (!IsPostBack)
{
bind();
}这是绑定
protect void bind()
{
BLL.HouseBll bh = new BLL.HouseBll();
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataBind();
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
bind();
}你出现的原因就是每次都从新查了一遍,总数要放在外面的!这样他才会算出每页的开始值和结束值了!
你该成这样试试!
if (!IsPostBack)
{
BLL.HouseBll bh = new BLL.HouseBll();
AspNetPager1.RecordCount = bh.pagecount();
//Label1.Text = bh.pagecount().ToString();
//Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
//Repeater1.DataBind();
}
}
void bind()
{
BLL.HouseBll bh = new BLL.HouseBll();
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
Repeater1.DataBind();
} protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
//BLL.HouseBll bh = new BLL.HouseBll();
////AspNetPager1.RecordCount = bh.pagecount(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
//Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
//Repeater1.DataBind();
bind();
}
我之前这个程序能够运行的
对了之前曾经提示说 要用到using什么的 就是找不到引用 结果我一折腾现在这个提示找不到了 我都重新引用了n遍了
AspNetPager1.RecordCount一直是50
AspNetPager1.PageSize一直是20
AspNetPager1.StartRecordIndex分别是1,21,41
我以前不会设断点的 我现在把
AspNetPager1.RecordCount = bh.pagecount();和
Repeater1.DataSource = bh.housepage(AspNetPager1.StartRecordIndex, AspNetPager1.PageSize);
这两行设为断点
上面的数据是我鼠标放上去的显示 然后按f5执行看出来的
这样就能找到原因了吧按F11单步执行!会看的更清楚的!
问题出在存储过程
当输入pigesize=20 pageindex=21 docount=false 不输出数据
当输入pigesize=20 pageindex=1 docount=false 则输出20条数据
这个存储过程我是用aspnetpager生成的
真是奇怪啊 以前能用现在不能用了 哎不知道怎么改了 难道我打补丁打坏了?
先谢谢各位的帮忙
AspNetPager1.StartRecordIndex变成21了
第三页变成41了 我倒
引用dll文件,之后写上那句话,之后就用存储过程分页了。
/****** 对象: StoredProcedure [dbo].[UP_GetRecordByPage] 脚本日期: 07/23/2010 14:58:47 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
--------分页存储过程CREATE PROCEDURE [dbo].[UP_GetRecordByPage]
@tblName varchar(255), --table name
@fldName varchar(255), --key filed name
@PageSize int = 10, --page size
@PageIndex int = 1, --page index
@IsReCount bit = 0, --record count
@OrderType bit = 0, --asc:0 or desc:1
@strWhere varchar(1000) = '' --where
ASdeclare @strSQL varchar(6000)
declare @strTmp varchar(1000)
declare @strOrder varchar(400) if @OrderType != 0
begin
set @strTmp = '<(select min'
set @strOrder = ' order by [' + @fldName +'] desc'
end
else
begin
set @strTmp = '>(select max'
set @strOrder = ' order by [' + @fldName +'] asc'
endset @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + ']' + @strOrder + ') as tblTmp)'
+ @strOrderif @strWhere != ''
set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + '] where [' + @fldName + ']' + @strTmp + '(['
+ @fldName + ']) from (select top ' + str((@PageIndex-1)*@PageSize) + ' ['
+ @fldName + '] from [' + @tblName + '] where ' + @strWhere + ' '
+ @strOrder + ') as tblTmp) and ' + @strWhere + ' ' + @strOrderif @PageIndex = 1
begin
set @strTmp =''
if @strWhere != ''
set @strTmp = ' where ' + @strWhere set @strSQL = 'select top ' + str(@PageSize) + ' * from ['
+ @tblName + ']' + @strTmp + ' ' + @strOrder
endif @IsReCount != 0
set @strSQL = 'select count(*) as Total from [' + @tblName + ']'+' where ' + @strWhere--print @strSql
exec (@strSQL)