读书人

repeater或者DataList解决办法

发布时间: 2013-01-25 15:55:29 作者: rapoo

repeater或者DataList
一行里分别显示两列、两列
类似
第一行:
图片 图片
图片描述 图片描述
第二行:
图片 图片
图片描述 图片描述
.
.
.
.

[解决办法]


<table class="viewframe-body" title="">
<tbody class="dataBody">
<asp:Repeater ID="rptVideos" runat="server">
<ItemTemplate>
<%# GetStartTr(Container.ItemIndex) %>
<td class="media_list" width="25%" id="<%# Eval("SN") %>">
<div class="img_left"><a href="mediaView.aspx?<%# GetQueryString() %>"><img src="<%# mediaUrl + Eval("SnapSN").ToString() %>.jpg" alt="repeater或者DataList解决办法"Name") %>" title="<%# Eval("Name") %>" /></a></div>
<div class="media_list_title"><%# String.Format("【{0}】<br />{1}", Eval("Writer"), Eval("Name"))%></div>
</td>
<%# GetEndTr(Container.ItemIndex) %>
</ItemTemplate>
</asp:Repeater>
</tbody>
<tr class="viewframe-bottom">
<td colspan="4"><Kidtech:TurnPage ID="tpDatas" runat="server" /></td>
</tr>
</table>



protected string GetStartTr(int index)
{
if (index % 4 == 0) // 一行四列
return "<tr>";
return null;
}

protected string GetEndTr(int index)
{
if (index % 4 == 3)
return "</tr>";

if (index == totalRecord) // 记录数不可能是4的倍数,这里用空白补齐Table最后少的列
{
int padNum = 3 - (index % 4);
return "<td cols='" + padNum + "'></td></tr>";
}

return null;
}


上面是一行四列的范例,你需要几列,改下GetStartTr 和 GetEndTr中的数字就行了。


[解决办法]
设置 Repeater属性, R开头的,具体什么名字想不起来了.试试吧。
[解决办法]
repeater或者DataList解决办法
[解决办法]
两者都可以的

读书人网 >asp.net

热点推荐