高分请教用repeater控件来显示象QQ空间中的相册那样的功能

sdpjeff 2010-02-05 10:01:31
我现在想用repeater控件来显示象QQ空间中的相册的那样的功能

repeater控件最后显示出来的结果如下:
图片一 图片二 图片三 图片四 图片五

图片六 图片七 图片八 图片九 图片十

图片十一 图片十二 图片十三 图片十四 图片十五

图片十六 图片十七 图片十八 图片十九 图片二十

图片二十一 图片二十二 图片二十三 图片二十四 图片二十五

图片一是代表一张图片,用<img>控件来显示图片.
请问如果想达到以上的显示效果,该怎么做?谢谢

...全文
172 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
笑面书生 2011-03-07
  • 打赏
  • 举报
回复
怎么不行啊
iamabogle 2010-02-07
  • 打赏
  • 举报
回复
同意15楼的 同时建议用datalist
seesea125 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 sdpjeff 的回复:]
楼上的做法是一行里显示一个图片吧,我是需要做成一行里显示多个图片,
[/Quote]

你。。。。我都要无语了
<div style="width:100%;">
<asp:repeater id="re_aa" runat="server">
<itemtemplate>
<li style="width:19%;float:left"> <img src=' <%#Eval("imagesrc")%>' /> </li>
</itemtemplate>
</asp:repeater>
</div>
li的width是19%,float:left是什么意思你知道吗,就是每行显示5个,然后就换行
灵雨飘零 2010-02-07
  • 打赏
  • 举报
回复

<asp:DataList ID="DataListImg" runat="server" RepeatColumns="4" Width="100%">
<ItemTemplate>
<div style="width: 160px; margin: auto; height: 130px; border: 1px solid gray;">
<div>
<p id="outer">
<a href='../SafeManage/ImageShow.aspx?id=<%#Eval("ID")%>'>
<img style="margin: auto; border: none; vertical-align: middle; text-align: center;
padding: 5px 5px 5px 5px; width: 150px; height: 120px;" src='<%# Eval("ARTICLE_URL")%>'
alt="" />
</a>
</div>
</div>
<div style="color: Gray; text-align: center; height: 20px;">
<a href='../SafeManage/ImageShow.aspx?id=<%#Eval("ID")%>'>
<%# Bll.WebManage.strCut(DataBinder.Eval(Container.DataItem, "TITLE").ToString(), 12)%>
</a>
</div>
</ItemTemplate>
</asp:DataList>


RUNBEAR 2010-02-07
  • 打赏
  • 举报
回复
datalist就可以达到你的目的,为什么非要repeater
  • 打赏
  • 举报
回复
我用控件不求低级。用repeater不合适的时候为什么不用datalist呢?
icotfeng 2010-02-07
  • 打赏
  • 举报
回复
前台:

<asp:Repeater ID="Repeater2" runat="server">
<HeaderTemplate>
<table width="100%">
</HeaderTemplate>
<ItemTemplate>
<asp:PlaceHolder ID="PlaceHolder1" runat="server" Visible='<%# (Container.ItemIndex + 1) % 8 ==1 %>'>
<tr>
</asp:PlaceHolder>
<td >
<%# DataBinder.Eval(Container.DataItem, "imgname")%>
</td>
<asp:PlaceHolder ID="PlaceHolder2" runat="server" Visible='<%# (Container.ItemIndex + 1) % 8 ==0 %>'></tr> </asp:PlaceHolder>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>


后台

protect void get_img()
{
sql="select imgname from tablename"
...
Repeater2=dt.DefaultView;
Repeater2.databind();
}

seesea125 2010-02-06
  • 打赏
  • 举报
回复
用div加li
<div style="width:100%;">
<asp:repeater id="re_aa" runat="server">
<itemtemplate>
<li style="width:19%;float:left"><img src='' /></li>
</itemtemplate>
</asp:repeater>
</div>
a21999 2010-02-06
  • 打赏
  • 举报
回复
repeater一行显示多个图片,从数据库中读取,参考一下:
http://hi.baidu.com/44498/blog/item/388a1f1969a78e70dbb4bdc3.html
sdpjeff 2010-02-06
  • 打赏
  • 举报
回复
楼上的做法是一行里显示一个图片吧,我是需要做成一行里显示多个图片,
seesea125 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 sdpjeff 的回复:]
关于图片的地址我是从数据库中读取出来的,楼上的这些个回答好象还是不能满足要求啊,有没有高手啊?SOS
[/Quote]

<div style="width:100%;">
<asp:repeater id="re_aa" runat="server">
<itemtemplate>
<li style="width:19%;float:left"> <img src='<%#Eval("imagesrc")%>' /> </li>
</itemtemplate>
</asp:repeater>
</div>

在cs文件里绑定这个repeater就可以了
sql="select * from imagetable";
dt=sqlhelper.executetable(sql);
re_aa.datasource=dt;
re_aa.databind();
TalesTen 2010-02-06
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 wuyq11 的回复:]
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
            if (i % 5 == 0 && i > 0)
            {
                e.Item.Controls.Add(new LiteralControl(" </tr> <tr>"));
            }
            i++;
        }

[/Quote]试试1楼的
wangan2008 2010-02-06
  • 打赏
  • 举报
回复
up
sdpjeff 2010-02-06
  • 打赏
  • 举报
回复
关于图片的地址我是从数据库中读取出来的,楼上的这些个回答好象还是不能满足要求啊,有没有高手啊?SOS
tan124 2010-02-05
  • 打赏
  • 举报
回复
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 5 == 0 && i > 0)
{
e.Item.Controls.Add(new LiteralControl(" </tr> 图片一 <tr>"));
}
i++;
}
sdpjeff 2010-02-05
  • 打赏
  • 举报
回复
能有具体一点的代码吗?谢谢
andyliujunyou 2010-02-05
  • 打赏
  • 举报
回复
repeater 有个属性,可以设置每一行显示多个信息,你查一下
wuyq11 2010-02-05
  • 打赏
  • 举报
回复
protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
if (i % 5 == 0 && i > 0)
{
e.Item.Controls.Add(new LiteralControl(" </tr> <tr>"));
}
i++;
}

62,254

社区成员

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

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

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

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