首页 新闻 赞助 找找看

repeater控件循环

0
悬赏园豆:5 [已解决问题] 解决于 2012-03-08 14:22

<asp:Repeater ID="repHotelNopic" runat="server">
                            <ItemTemplate>                          
                            <div class="hotellb">
                             <span class="hotel_01"><a href="hotel_xq.htm?<%# Eval("id") %>" target="_blank"><%# Eval("name") %></a></span>
                                <span class="hotel_02"><img src="images/xingji.gif" width="82" height="14" /></span>
                                <span class="hotel_03">¥<%# Eval("offer") %></span>
                            </div>
                            <div class="hotellb01">
                             <span class="hotel_01"><a href="hotel_xq.htm" target="_blank"><%# Eval("name") %></a></span>
                                <span class="hotel_02"><img src="images/xingji.gif" width="82" height="14" /></span>
                                <span class="hotel_03">¥<%# Eval("offer") %></span>
                            </div>
                            </ItemTemplate>
                           </asp:Repeater>

我前台是这么写的,里面 的div里有两个相同的字段,他们显示是一样的,请问怎么才能让他们显示不一样

colyn的主页 colyn | 初学一级 | 园豆:79
提问于:2012-03-03 15:07
< >
分享
最佳答案
0

看看这个例子:

<tr><ASP:Repeater runat="server" OnItemDataBound="Repeater1_ItemDataBound">                                 <ItemTemplate>                                 <td width="103">                                     <table border="0" cellpadding="0" cellspacing="0" width="100%">                                         <tr height="60">                                             <td align="center" ><a href="<%# DataBinder.Eval(Container.DataItem,"Links") %>"><img src="../uploadfiles/UploadFile/<%# DataBinder.Eval(Container.DataItem,"Pic") %>" alt="<%# DataBinder.Eval(Container.DataItem,"Name") %>" width="46" height="46" border="0"></a></td>                                         </tr>                                         <tr height="22">                                             <td align="center" ><a href="<%# DataBinder.Eval(Container.DataItem,"Links") %>" target="main"><%# DataBinder.Eval(Container.DataItem,"Name") %></a></td>                                         </tr>                                     </table>                                 </td>                                 </ItemTemplate></ASP:Repeater>                             </tr>

//后台cs处理文件

protected int i = 1;

protected void Page_Load(object sender, EventArgs e)     {

        if (!IsPostBack)         {             PersTools persTools = new PersTools();             DataTable dt = persTools.GetPersToolsInfos(string.Empty);             this.Repeater1.DataSource = dt;             this.Repeater1.DataBind();                     }

}

    protected void Repeater1_ItemDataBound(object sender, RepeaterItemEventArgs e)     {         if (i % 6 == 0)//6是一行显示列数         {             e.Item.Controls.Add(new LiteralControl("</tr><tr>"));         }         i++;//     }

收获园豆:5
KivenRo | 小虾三级 |园豆:1734 | 2012-03-03 19:18

关键是就是去判断它要显示的列数。。。

KivenRo | 园豆:1734 (小虾三级) | 2012-03-04 09:46
其他回答(4)
0

你绑定的字段不一样,显示的也就不一样了。Repeater 控件好像不支持换行,要么是横行,要么是竖行。

悟行 | 园豆:12559 (专家六级) | 2012-03-03 15:44

有解决的办法么?? 

支持(0) 反对(0) colyn | 园豆:79 (初学一级) | 2012-03-03 15:58
0

没看明白你是想干嘛啊

麻将我会 | 园豆:24 (初学一级) | 2012-03-03 16:26

你看看我的图片,横向是不是两个都是一样的???横向一共是两个div,我都放在repeater里,但是每个div都要获取他的标题名称,一共是8条信息,我应该显示的是8条不一样的,但是现在显示的是有四条是重复的信息  能明白么?

支持(0) 反对(0) colyn | 园豆:79 (初学一级) | 2012-03-03 16:33

但是在repeater里写两个<%# Eval("name") %> 他们获取的数据就是一样的,无法循环下去,所以。我想知道一个解决办法,显示8条信息,而不是这样出现8条有四条是一样的

支持(0) 反对(0) colyn | 园豆:79 (初学一级) | 2012-03-03 16:35

@colyn: 有点明白了,你可以考虑使用listview的group或者通过CSS来控制

支持(0) 反对(0) 麻将我会 | 园豆:24 (初学一级) | 2012-03-03 16:40
0

放一个div就可以了啊,显示几列,用宽度控制。

OOLi | 园豆:163 (初学一级) | 2012-03-05 12:39
0

解决了,谢谢大家

colyn | 园豆:79 (初学一级) | 2012-03-08 14:22
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册