Ispostback的问题

StillMiss 2010-04-08 11:50:11
我有一个文章列表页面。
Blog.aspx 显示的是 “我的日志”这个大类 所有类别下的文章标题列表

Blog.aspx?id=1 显示的私人日记(小类1)
Blog.aspx?id=2 显示的网络文摘(小类2)

用的repeater控件 ,带分页的

当从主页进入该页面后,大类下 所有文章都显示正常。

有参数也显示正常,但是有参数的时候,按 “上一页”“下一页”的时候,绑定显示的数据变成 无参的那个、

问题应该是出在,ISpostback里 但是不知道如何处理。 望有帮忙解决一下。代码贴在下面 。



#region Repeater的绑定 显示大类下所有文章
private void BindRP()
{
//分页控件
PagedDataSource pdsblog = new PagedDataSource();
//设置数据源
pdsblog.DataSource = LogManager.GetLogsByParentnodeID(31);//CODE(大类) ID为331
//设置允许分页
pdsblog.AllowPaging = true;
//每页显示为20行标题
pdsblog.PageSize = 10;
//获得当前页索引
pdsblog.CurrentPageIndex = Pager;
//当前页数
this.lblNowPage.Text = (pdsblog.CurrentPageIndex + 1).ToString();
//总页数
this.lblCurrentPage.Text = pdsblog.PageCount.ToString();

SetEnable(pdsblog);
//把PagedDataSource 对象赋给repeater控件
this.Repeater1.DataSource = pdsblog;
this.Repeater1.DataBind();
}
#endregion

#region Repeater绑定 小类下文章列表
private void BindRP2(int id)
{
//分页控件
PagedDataSource pdsblog = new PagedDataSource();
//设置数据源
pdsblog.DataSource = LogManager.GetAllLogBycateID(id);
//设置允许分页
pdsblog.AllowPaging = true;
//每页显示为10行标题
pdsblog.PageSize = 10;
//获得当前页索引
pdsblog.CurrentPageIndex = Pager;
//当前页数
this.lblNowPage.Text = (pdsblog.CurrentPageIndex + 1).ToString();
//总页数
this.lblCurrentPage.Text = pdsblog.PageCount.ToString();

SetEnable(pdsblog);
//把PagedDataSource 对象赋给repeater控件
this.Repeater1.DataSource = pdsblog;
this.Repeater1.DataBind();
}
#endregion

#region 排序按钮
private void SetEnable(PagedDataSource pds)
{
//开始设置“上一页”“下一页”按钮都为可用状态
this.lbtnNextPage.Enabled = true;
this.lbtnpritPage.Enabled = true;
this.lbtnFirstPage.Enabled = true;
this.lbtnDownPage.Enabled = true;

if (pds.IsFirstPage)
{
this.lbtnpritPage.Enabled = false;
this.lbtnFirstPage.Enabled = false;
}
if (pds.IsLastPage)
{
this.lbtnDownPage.Enabled = false;
this.lbtnNextPage.Enabled = false;
}
}

/// 当前页数
private int Pager
{

get
{
return Convert.ToInt32(ViewState["Page"]);
}
set
{
ViewState["Page"] = value;
}
}
#endregion


protected void lbtnFirstPage_Click(object sender, EventArgs e)
{
//首页
Pager = 1;
BindRP();

}
protected void lbtnpritPage_Click(object sender, EventArgs e)
{
//上一页
Pager--;
BindRP();
}
protected void lbtnNextPage_Click(object sender, EventArgs e)
{
//下一页
Pager++;
BindRP();
}
protected void lbtnDownPage_Click(object sender, EventArgs e)
{
//末页
Pager = Convert.ToInt32(this.lblCurrentPage.Text) - 1;
BindRP();
}
...全文
106 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
Zero_Strong 2010-04-09
  • 打赏
  • 举报
回复
....钢准备来看看
StillMiss 2010-04-09
  • 打赏
  • 举报
回复
呵呵 问题找到了。 我下一页绑定的视图 一直是无参数的 没判断~~~ 不是ispostback里的问题 。


谢谢大家
StillMiss 2010-04-08
  • 打赏
  • 举报
回复
就是 带参数的时候 按 上一页 下一页 变成直接绑定无参的视图了 。因为这次没有接收参数吧

if (!IsPostBack)
下面else如何判断哦
hejun19860620 2010-04-08
  • 打赏
  • 举报
回复
Ispostback? 具体哪部分? 运行的记过怎么样? 就说个Ispostback不太明白!
StillMiss 2010-04-08
  • 打赏
  • 举报
回复


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
//首次加载,页数赋初值
ViewState["Page"] = 0;

if (Request.QueryString["aid"] == null)
{
BindRP();
}
else
{
BindRP2(Convert.ToInt32(Request.QueryString["aid"]));
}
}

}
sxy445566 2010-04-08
  • 打赏
  • 举报
回复
木有明白,顶一下
等待楼下来高人~
zhengbin215 2010-04-08
  • 打赏
  • 举报
回复
不是很明白楼主的意思
暖枫无敌 2010-04-08
  • 打赏
  • 举报
回复
LZ的头像比较帅!呵呵......
上一页、下一页也要判断下现在是多少页吧,如果当前页是第一页的话,那么上一页按钮enable设为false,是最后一页的话,则下一页按钮的enable设为false。
手抓宝 2010-04-08
  • 打赏
  • 举报
回复
protected void lbtnpritPage_Click(object sender, EventArgs e)
{
//上一页
Pager--;
BindRP();
}
protected void lbtnNextPage_Click(object sender, EventArgs e)
{
//下一页
Pager++;
BindRP();
}
这里,是不是应该判断一下Pager是否为第一页或最后一页啊?如果不是才++或者--

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧