我有一個ASP.NET頁面,它使用巢狀在另一箇中繼器中的中繼器來生成資料列表.它的效果如下:
<asp:Repeater>
<ItemTemplate>
<span><%#Eval("Data1") %></span>
<!-- and many more -->
<asp:Repeater DataSource='<%#Eval("Data2")%>'>
<HeaderTemplate>
<ul>
</HeaderTemplate>
<ItemTemplate>
<li><%#Container.DataItem%></li>
</ItemTemplate>
<FooterTemplate>
</ul>
</FooterTemplate>
</asp:Repeater>
</ItemTemplate>
</asp:Repeater>
在(C#)code-背後,我基本上使用LINQ從XML文件中提取資訊列表並將該資訊繫結到第一個中繼器.
搜尋這個答案,似乎方法是確定巢狀中繼器的資料是否為空.如果是,則將中繼器的可見度設定為false.
不幸的是,我無法確定如何在內聯中執行此操作,而不是在程式碼後面(因為它不一定適用於我正在做的事情).
由於我的頁面現在沒有驗證,因為ul最終對沒有Data2的任何專案都是空的,因為我想繼續使用無序列表,我尋求你的幫助.
有任何想法嗎?
謝謝!
更新:
如果它有幫助,因為它很可能在code-found中執行,LINQ是這樣的事情:
var x = from y in z
select new {
Data1 = d,
// etcetera
Data2 = (from j in k
where j.Value != String.Empty
select j.Value).ToList()
};
blah.DataSource = x;
blah.DataBind();