新手求教大家 关于分页后ImageButton的ImageUrl属性显示问题

dh4261541 2012-02-16 09:25:57
我先说明一下我的问题,这个分页是用AspNetPager做的每页显示数是16个,显示的是ImageButton,点击ImageButton会把对象的URL传给另外一个页面 现在的问题是分页是对的,传的URL也是对的,但是ImageButton的ImageUrl有问题,比如我有20个图片第一页显示的是1-16个图片,点击下一页后正常情况应该显示第17个图片,但是现在他显示的又是第1个图片但是点击后 传的URL是17的图的,就是对象已经分页成功 但是ImageButton的ImageUrl没有分页 以下是代码

后台
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
List<npic> list = new List<npic>();
for (int i = 0; i < dv.Count;i++ )
{
npic model = new npic();
model.id=Convert.ToInt32(dv.Table.Rows[i].ItemArray[0]);
model.name = dv.Table.Rows[i].ItemArray[1].ToString();
model.url = dv.Table.Rows[i].ItemArray[2].ToString();
model.typeid = dv.Table.Rows[i].ItemArray[3].ToString();
model.orderby = Convert.ToInt32(dv.Table.Rows[i].ItemArray[4]);
list.Add(model);
}
apage.RecordCount = dv.Count;
PagedDataSource pds = new PagedDataSource();
pds.DataSource = dv;
pds.AllowPaging = true;
pds.CurrentPageIndex = apage.CurrentPageIndex - 1;
pds.PageSize = apage.PageSize;
gvadm.DataSource = pds;
gvadm.DataBind();
for (int i = 0; i < gvadm.Items.Count; i++)
{
ImageButton imgd = (ImageButton)gvadm.Items[i].FindControl("btnserch");
imgd.ImageUrl = "img/" + list[i].url;
}


前台

<td id="fen" colspan="2" valign="top">
<asp:Repeater ID="gvadm" runat="server" >
<ItemTemplate>
<asp:ImageButton ToolTip="点击我选择图片" CommandArgument='<%# Eval("url") %>' Height="50px" Width="100px" ID="btnserch" runat="server" oncommand="btnserch_Command" />
</ItemTemplate>
</asp:Repeater>
...全文
147 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dh4261541 2012-02-22
  • 打赏
  • 举报
回复
好了 问题解决了
孟子E章 2012-02-16
  • 打赏
  • 举报
回复
DataView dv = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty);
List<npic> list = new List<npic>();
for (int i = 0; i < dv.Count;i++ )

你这取到的数据是从17开始的吗?

你要分析自己的代码啊。学会调试

显示不对,原因有2个
1,是取到的数据不对
2,代码逻辑不对,

自己先调试吧
jiuhexuan 2012-02-16
  • 打赏
  • 举报
回复
debug看看,进入分页后是否执行了imgd.ImageUrl = "img/" + list[i].url;
这句最好放到
Repeater1_ItemDataBound
孟子E章 2012-02-16
  • 打赏
  • 举报
回复
for (int i = 0; i < gvadm.Items.Count; i++)
{
ImageButton imgd = (ImageButton)gvadm.Items[i].FindControl("btnserch");
imgd.ImageUrl = "img/" + list[i].url;
}

这是你自己定义的啊,每次是一样的啊

你应该加上
pds.CurrentPageIndex * pds.PageSize
dh4261541 2012-02-16
  • 打赏
  • 举报
回复
求解决方案 都几天了 大神们帮帮我吧

62,263

社区成员

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

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

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

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