当前位置:编程学习 > C#/ASP.NET >>

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

我现在想用repeater控件来显示象QQ空间中的相册的那样的功能

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

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

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

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

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

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

--------------------编程问答-------------------- protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
            if (i % 5 == 0 && i > 0) 
            { 
                e.Item.Controls.Add(new LiteralControl(" </tr> <tr>")); 
            } 
            i++; 
        } 
--------------------编程问答-------------------- repeater 有个属性,可以设置每一行显示多个信息,你查一下 --------------------编程问答-------------------- 能有具体一点的代码吗?谢谢 --------------------编程问答-------------------- protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e) 
    { 
            if (i % 5 == 0 && i > 0) 
            { 
                e.Item.Controls.Add(new LiteralControl(" </tr> 图片一 <tr>")); 
            } 
            i++; 
        }  --------------------编程问答-------------------- 用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> --------------------编程问答-------------------- 关于图片的地址我是从数据库中读取出来的,楼上的这些个回答好象还是不能满足要求啊,有没有高手啊?SOS --------------------编程问答-------------------- up --------------------编程问答--------------------
引用 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++;
        }
试试1楼的 --------------------编程问答--------------------
引用 6 楼 sdpjeff 的回复:
关于图片的地址我是从数据库中读取出来的,楼上的这些个回答好象还是不能满足要求啊,有没有高手啊?SOS


<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(); --------------------编程问答-------------------- 楼上的做法是一行里显示一个图片吧,我是需要做成一行里显示多个图片, --------------------编程问答-------------------- repeater一行显示多个图片,从数据库中读取,参考一下:
http://hi.baidu.com/44498/blog/item/388a1f1969a78e70dbb4bdc3.html --------------------编程问答-------------------- 前台:

<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();
}

--------------------编程问答-------------------- 我用控件不求低级。用repeater不合适的时候为什么不用datalist呢? --------------------编程问答-------------------- datalist就可以达到你的目的,为什么非要repeater --------------------编程问答--------------------
引用 10 楼 sdpjeff 的回复:
楼上的做法是一行里显示一个图片吧,我是需要做成一行里显示多个图片,


你。。。。我都要无语了
<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个,然后就换行 --------------------编程问答-------------------- 同意15楼的 同时建议用datalist --------------------编程问答--------------------

<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>


--------------------编程问答-------------------- --------------------编程问答-------------------- 怎么不行啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,