62,046
社区成员
发帖
与我相关
我的任务
分享
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
if (Request.QueryString["mid"] != null)
{
ViewState["mid"] = Request.QueryString["mid"].ToString();
Bind();
}
}
}
//绑定数据源
public void Bind()
{
try
{
MODULE_MenuContent mc = new MODULE_MenuContent();
mc.Mid = Convert.ToInt32(ViewState["mid"].ToString());
mc.Size = AspNetPager1.PageSize;
mc.Index = AspNetPager1.CurrentPageIndex;
//查询记录集
mc.Docont = 0;
PagedDataSource pds = new PagedDataSource();
DataTable dt = (DataTable)bll.Pager(mc);
pds.DataSource = dt.DefaultView;
Response.Write(pds.DataSourceCount.ToString());
pds.AllowPaging = true;
pds.PageSize = AspNetPager1.PageSize;
pds.CurrentPageIndex = AspNetPager1.CurrentPageIndex - 1;
GridView1.DataSource = pds;
GridView1.DataBind();
}
catch (Exception ex)
{
js.JsMsg(ex.Message);
}
}
protected void AspNetPager1_PageChanged(object sender, EventArgs e)
{
Bind();
}
create procedure MenuContent_pager
@mid int,--菜单编号
@pagesize int,--每页行数
@pageindex int--页索引
as
set nocount on
begin
declare @indextable table(id int identity(1,1),nid int)
declare @PageLowerBound int
declare @PageUpperBound int
set @PageLowerBound=(@pageindex-1)*@pagesize
set @PageUpperBound=@PageLowerBound+@pagesize
set rowcount @PageUpperBound
insert into @indextable(nid) select id from MenuContent where mid=@mid order by addtime desc
select O.id,O.title,O.content,O.addtime,O.click from MenuContent O,@indextable t where O.id=t.nid
and t.id between @PageLowerBound+1 and @PageUpperBound order by t.id
end
set nocount off
GO