Code
<asp:Repeater ID="rptDistricts" runat="server">
<ItemTemplate>
<div class="districtTitle"><h3>>> <%# Eval("Name") %></h3>
<%
Mju.Entity.Forums.BoardInfo boardInfo = (Mju.Entity.Forums.BoardInfo)(rptDistricts.DataSource as IList)[row++];
if (boardInfo.SubBoardCount != 0)
{
%>
<span>分类版主: admin <img id="district_<%# Eval("BoardID") %>_img" src="../Images/collapsed_yes.gif" alt="展开/收起" title="展开/收起" onclick="collapseDistrict('district_<%# Eval("BoardID") %>');"/></span></div>
<table id="district_<%# Eval("BoardID") %>" border="0" cellpadding="0" cellspacing="0">
<thead>
<tr>
<th>版块</th>
<td class="nums">主题</td>
<td class="nums">贴子</td>
<td class="lastpost">最后发表</td>
</tr>
</thead>
<tbody>
<asp:Repeater ID="rptBoards" DataSource='<%# GetBoards((Container.DataItem as Mju.Entity.Forums.BoardInfo).BoardID) %>' runat="server">
<ItemTemplate>
<tr>
<th><%# Eval("Name") %><br />版块描述<br />版主: admin</th>
<td class="nums">22</td>
<td class="nums">27</td>
<td class="lastpost">f<br />by admin - 前天 12:20</td>
</tr>
</ItemTemplate>
</asp:Repeater>
</tbody>
</table>
<% }
else
{%></div><%}%>
</ItemTemplate>
</asp:Repeater>
你的这个需求,应该是个树结构,不止一层吧?
建议你用一个UserControl表示出一个版面,然后在这个UserControl中进行判断,如果要显示的版面有子版面,用LoadControl递归调用UserControl完成显示所有版面
看下下面的几篇文章吧
http://topic.csdn.net/t/20041021/15/3478270.html
http://space.cnblogs.com/question/3027/
http://www.newasp.net/tech/asp/14018.html
我一般做法是写用户控件
在用户控件里加个属性判断用什么模板
这个属性一般定义成枚举便于扩展
然后写格controldatabind方法公开给外部调用并绑定
数据是通过外部传参数到内部生成
而且我还是习惯form编程
不习惯吧逻辑写在aspx页面上
<%
Mju.Entity.Forums.BoardInfo boardInfo = (Mju.Entity.Forums.BoardInfo)(rptDistricts.DataSource as IList)[row++];
if (boardInfo.SubBoardCount != 0) { }
%>
这些if语句应该在后台区实现。
要明确设计思想:
在前台一般就是显示Repeater的页面布局,定义显示的界面框架;后台才进行数据处理,将数据输出到前台定义好的显示框架中。
老哥,看到你给的分这么高,特意进来顶下哈!:P