मेरे पास एक एएसपी.नेट पृष्ठ है जो डेटा की एक सूची उत्पन्न करने के लिए एक और पुनरावर्तक के भीतर घूमने वाले दोहराव का उपयोग करता है। यह निम्न के प्रभाव के लिए है:यदि डेटासोर्स में कोई आइटम नहीं है तो मैं ASP.NET C# में दोहराने वाला कैसे छिपा सकता हूं?
<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>
(सी #) में कोड-पीछे मैं मूल रूप से LINQ उपयोग कर रहा हूँ एक XML दस्तावेज से जानकारी की एक सूची खींच सकते हैं और पहले पुनरावर्तक है कि जानकारी बाध्य करने के लिए।
इसका उत्तर खोज रहे हैं, ऐसा लगता है कि यह निर्धारित करना है कि नेस्टेड रिपेटर के लिए डेटा खाली है या नहीं। यदि ऐसा है, तो आप दोहराने के लिए पुनरावर्तक की दृश्यता सेट करें।
दुर्भाग्यवश, मैं यह निर्धारित करने में सक्षम नहीं हूं कि इनलाइन को कैसे करें, न कि कोड-बैक में (क्योंकि यह आवश्यक नहीं है कि मैं जो कर रहा हूं उसके लिए काम करे)।
चूंकि मेरे पृष्ठ अब मान्य नहीं हैं, क्योंकि उल डेटा 2 के बिना किसी भी आइटम के लिए खाली हो रहा है, और क्योंकि मैं एक अनियंत्रित सूची का उपयोग करना जारी रखना चाहता हूं, इसलिए मैं आपकी मदद लेता हूं।
कोई विचार?
धन्यवाद!
अद्यतन:
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();
कि कोड-पीछे ... नहीं "इनलाइन" में है जैसे वह के लिए कहा। मैं वही बात कहने वाला था, फिर मैंने थोड़ा करीब पढ़ा :) –
यदि यह संभव है, तो मैंने LINQ को मूल प्रश्न में जोड़ा है। –