ASP.NET रिपीटर बाँध सूची <string>


102

मैं List<string>एक पुनरावर्तक नियंत्रण के लिए बाध्य हूं । अब मैं उपयोग करना चाहते हैं Evalमें सामग्री प्रदर्शित करने के समारोह ItemTemplateकी तरह

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

लेकिन मुझे यकीन नहीं है कि NAME के ​​बजाय मुझे क्या उपयोग करना चाहिए।

जवाबों:


212

महज प्रयोग करें <%# Container.DataItem.ToString() %>

यदि आप अशक्त मूल्यों से चिंतित हैं, तो आप इसे (.NET 6+) रिफ्लेक्टर करना चाहते हैं

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

ध्यान दें कि यदि आप .NET 6 से कम का उपयोग कर रहे हैं, तो आप null-conditional operator कंटेनर का उपयोग नहीं कर सकते । DataItem .Toring ()


25

ItemType को System.string पर सेट करें

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

6
ध्यान दें कि आइटम टाइप गुण .NET फ्रेमवर्क 4.5 में प्रस्तुत किया गया है।
जोनाथन वैन डे वीन

10
rptSample.DataSource = from c in lstSample select new { NAME = c };

आपके द्वारा लगाए गए पुनरावर्तक में

<%# Eval("NAME") %>

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


3

LINQ @RobertoBr द्वारा प्रदत्त एक और पूर्ण उदाहरण:

पीछे कोड में:

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>

3

आपको यहां डेटाबिंड सिंटैक्स का उपयोग करना होगा या यह काम नहीं करेगा।

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

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()%>
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.