У мене є список батьків, які мають дітей. Я намагаюся вивести це на моєму веб-сайті, виконавши наступне. Це працює, але це правильно? Яка найкраща альтернатива?
<ul id="example">
<asp:Repeater ID="monkey" runat="server" >
<ItemTemplate>
<li>
<span class="folder">
<%# GetPlantName((string)Container.DataItem) %>
</span>
<ul>
<asp:Repeater id="moo" runat="server" DataSource="<%# GetTagList((string)Container.DataItem) %>">
<ItemTemplate>
<li>
<asp:LinkButton ID="d" runat="server" Text="<%# Eval("ReportNo")%>"></asp:LinkButton>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
</li>
</ItemTemplate>
</asp:Repeater>
</ul>
Відповіді:
6 за відповідь № 1Вкладені репітери є прийнятними. Просто будьте обережні з такими речами, як події RowDataBound. Це не завжди очевидний, особливо для молодших розробників, що ці методи, по суті, вкладені в цикли. Я бачив помилки, такі як подорож до бази даних в вкладеному ретрансляторі, що призводить до великої кількості накладних витрат.
Просто пам'ятайте, що те, що ви робите, є, по суті, вставленим циклом та дизайнерським кодом відповідно, і це чудово.
2 для відповіді № 2
Я сподіваюся немає
У мене є ретранслятор у ретрансляторі у ретрансляторі в ретрансляторі в чомусь: -p
0 для відповіді № 3
Ні, це не неправильно! Навпаки, саме це ми повинні робити частіше, ніж ні.
Іноді є кращі рішення, але це завжди залежить від вимог.
година
^ / I l l
0 для відповіді № 4
Я взагалі не бачу нічого поганого. У вас є список (повторювач 1) із вкладеним списком (повторювач 2).
0 для відповіді № 5
Це неправильно? Ні. Це лише "неправильно" (і це в основному псевдонім для неефективності), якщо ви плануєте робити щось із ретранслятором, що можна зробити легше з чим іншим.