新手求教大家 关于分页后ImageButton的ImageUrl属性显示问题
我先说明一下我的问题,这个分页是用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>
------解决方案--------------------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
------解决方案--------------------debug看看,进入分页后是否执行了imgd.ImageUrl = "img/" + list[i].url;
这句最好放到
Repeater1_ItemDataBound
------解决方案--------------------
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,代码逻辑不对,
自己先调试吧