2011-02-16 11 views
98

मैं एक पुनरावर्तक नियंत्रण में List<string> बाध्यकारी हूं। अब मैं की तरहएएसपी.नेट पुनरावर्तक बांध सूची <string>

<%# Eval("NAME") %>. 

ItemTemplate में सामग्री प्रदर्शित करने के Eval समारोह उपयोग करना चाहते हैं लेकिन मुझे यकीन है कि मैं क्या नाम के बजाय का उपयोग करना चाहिए नहीं कर रहा हूँ।

उत्तर

198

बस <%# Container.DataItem.ToString() %>

का उपयोग आप शून्य मान के बारे में चिंतित हैं, तो आप इस (.NET 6+)

<asp:Repeater ID="repeater" runat="server"> 
    <ItemTemplate> 
     <%# Container.DataItem?.ToString() ?? string.Empty%> 
    </ItemTemplate> 
</asp:Repeater> 

नोट करने के लिए refactor करने के लिए चाहते हो सकता है अगर आप नेट 6 आप नहीं कर सकते से भी कम समय का उपयोग कर रहे null-conditional operator Container.DataItem) का उपयोग .ToString (

+10

को ध्यान में रखें कि 'Container.DataItem' एक वस्तु प्रकार है। – Jaider

9

यह ठीक काम करना चाहिए:

<ItemTemplate> 
    <%=this.GetDataItem().ToString() %> 
</ItemTemplate> 
10
rptSample.DataSource = from c in lstSample select new { NAME = c }; 
पुनरावर्तक में

आप

<%# Eval("NAME") %> 
+2

कुछ उदाहरण केवल Eval का उपयोग करने के बजाय <% # DataBinder.Eval (Container.DataItem, "NAME")%> का उपयोग करते हैं। क्या फर्क पड़ता है? –

3

डाल तुम यहाँ databing सिंटैक्स का उपयोग करने के लिए है या यह काम नहीं करेगा।

<%# this.GetDataItem().ToString() %> 
21

<asp:Repeater ItemType="System.string" runat="server"> 
    <ItemTemplate> 
     <%# Item %> 
    </ItemTemplate> 
</asp:Repeater> 
+6

ध्यान दें कि ItemType प्रॉपर्टी .NET Framework 4.5 में पेश की गई है। –

2

एक और पूरी उदाहरण System.String करने के लिए LINQ @RobertoBr द्वारा प्रदान के आधार पर itemtype सेट करें:

पीछे कोड में:

List<string> notes = new List<string>(); 
notes.Add("Value1") 
notes.Add("Value2") 

repeaterControl1.DataSource = from c in notes select new {NAME = c}; 
repeaterControl1.DataBind(); 

पृष्ठ पर:

<asp:Repeater ID="repeaterControl1" runat="server" > 
    <ItemTemplate> 
     <li><%# Eval("NAME") %></li> 
    </ItemTemplate> 
    </asp:Repeater> 
0

आइटम खाका अंदर

 <ItemTemplate> 
<asp:Label ID="lblName" runat="server" Text='<%# Eval("YourEntityName").ToString() ==""? "NA" : Eval("YourEntityName").ToString()%>'></asp:Label> 
    <ItemTemplate> 

या सीधे शब्दों में जोड़ें अंदर मद खाका

<%# Eval("YourEntityName").ToString() ==""? "NA" : Eval("YourEntityName").ToString()%> 
संबंधित मुद्दे