DataList分页后,DataKeys.Item(e.Item.ItemIndex)取出来的值每页一样.

tanshiyang82 2004-04-05 07:06:14
DataList分页后,DataKeys.Item(e.Item.ItemIndex)取出来的值每页一样.
第一页的第一条记录与第二页的第一第记录取出来的是一样的值.
第一页的第二条记录与第二页的第二第记录取出来的是一样的值.
...

这是为什么?
e.Item.ItemIndex到底是什么意思?
...全文
145 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
crater 2004-06-18
  • 打赏
  • 举报
回复
我用datalist分页后,编辑时出现的情况和你一样。

但用其它的功能则可以(每页显示两条,每条的下面有个“收藏此项”,点击可以取出itemindex).
hychieftain 2004-04-05
  • 打赏
  • 举报
回复
2.e.Item.ItemIndex=N (N是当前页被选择的某条记录,从0开始)
hychieftain 2004-04-05
  • 打赏
  • 举报
回复
1.DataList是不支持分页的,须用其它的分页控件才行
2.e.Item.ItemIndex是DataList的当前页的记录数
asp.net基于XML的留言板 代码片段: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.dlBind(); } } public void dlBind() { int curpage = Convert.ToInt32(labNowPage.Text); PagedDataSource ps = new PagedDataSource(); SqlConnection mycon = new SqlConnection(ConfigurationManager.AppSettings["ConSQL"]); mycon.Open(); string cmdtxt2 = "SELECT * FROM tb_Reply WHERE ReplyID='" + Request["ID"].ToString() + "'"; SqlDataAdapter MyAdapter = new SqlDataAdapter(cmdtxt2, mycon); DataSet ds = new DataSet(); MyAdapter.Fill(ds, "tb_Reply"); ps.DataSource = ds.Tables["tb_Reply"].DefaultView; ps.AllowPaging = true; //是否可以分页 ps.PageSize = 4; //显示的数量 ps.CurrentPageIndex = curpage - 1; //取得当前页的页码 lnkbtnPrve.Enabled = true; lnkbtnTop.Enabled = true; lnkbtnNext.Enabled = true; lnkbtnLast.Enabled = true; if (curpage == 1) { lnkbtnTop.Enabled = false;//不显示第一页按钮 lnkbtnPrve.Enabled = false;//不显示上一页按钮 } if (curpage == ps.PageCount) { lnkbtnNext.Enabled = false;//不显示下一页 lnkbtnLast.Enabled = false;//不显示最后一页 } this.labCount.Text = Convert.ToString(ps.PageCount); this.DataList1.DataSource = ps; this.DataList1.DataKeyField = "ID"; this.DataList1.DataBind(); } protected void lnkbtnTop_Click(object sender, EventArgs e) { this.labNowPage.Text = "1"; this.dlBind(); } protected void lnkbtnPrve_Click(object sender, EventArgs e) { this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) - 1); this.dlBind(); } protected void lnkbtnNext_Click(object sender, EventArgs e) { this.labNowPage.Text = Convert.ToString(Convert.ToInt32(this.labNowPage.Text) + 1); this.dlBind(); } protected void lnkbtnLast_Click(object sender, EventArgs e) { this.labNowPage.Text = this.labCount.Text; this.dlBind(); } protected void DataList1_DeleteCommand(object source, DataListCommandEventArgs e) { string strid = this.DataList1.DataKeys[e.Item.ItemIndex].ToString(); //获取当前DataList控件列 string com = "Delete from tb_Reply where ID='" + Convert.ToInt32(strid) + "'"; SqlData da = new SqlData(); da.ExceSQL(com); Page.Response.Redirect("LeaveWordView.aspx?ID="+Request["ID"].ToString()+""); }

62,253

社区成员

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

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

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

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