首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

repeater 嵌套有关问题

2012-09-17 
repeater 嵌套问题问题思路:如何根据repeater2中是否有数据进行判断repeater1中h3是否以链接方式展示C# co

repeater 嵌套问题
问题思路:如何根据repeater2中是否有数据进行判断repeater1中h3是否以链接方式展示

C# code
<div class="pro_list">    <ul id="help_list">        <asp:Repeater ID="Repeater1" runat="server">            <ItemTemplate>                <li>                    <h3 class="ta2 <%# flag(Eval("selfcode").ToString(),2)%>">                        <a href='productslist.aspx?id=<%# Eval("selfcode") %>' title='<%# Eval("thename") %>'>                        <%# areahelper.substr(Eval("thename").ToString(),30) %></a></h3>                    <ul style="display:none">                        <asp:Repeater ID="repeater2" runat="server" DataSource='<%# twotype(Eval("selfcode").ToString())%>'>                            <ItemTemplate>                                <li><a href='productslist.aspx?id=<%# Eval("selfcode") %>' title='<%# Eval("thename") %>'>                        <%# areahelper.substr(Eval("thename").ToString(),30) %></a></li>                        <div style="clear:both;"></div>                            </ItemTemplate>                        </asp:Repeater>                    </ul>                </li>                <div style="clear:both;"></div>            </ItemTemplate>        </asp:Repeater>    </ul></div>


[解决办法]
这样写?建议在数据查询的时候把状态给repeater1的数据源,然后用三元 来判断
[解决办法]
twotype(Eval("selfcode").ToString()) 你的这个结果应该是DataTable吧


就是更具返回回来的行数 绑定你的连接是输出还是不输出
<%# twotype(Eval("selfcode").ToString()).Rows.Count==0 ? areahelper.substr(Eval("thename").ToString(),30) : “ <a href='productslist.aspx?id="+ Eval("selfcode") +"' title='"+ Eval("thename") +"'>"+ areahelper.substr(Eval("thename").ToString(),30) +"</a> ” %>
用这句话直接盖掉你的超链接应该就可以了


[解决办法]
我觉得应该这样。

在查询repeater1的数据时,就顺便把“有没有子表数据”当作一个自定义字段查出来,例如Flag字段,0表示无,1表示有。

然后,绑定repeater1的数据时,就可以直接根据flag的值来决定h3是否要链接。

这样做,就很easy啦。

热点排行