ASP.NET список привязки ретранслятора
Я связываю a List<string>
в элемент управления Repeater. Теперь я хочу использовать
7 ответов:
просто использовать
<%# Container.DataItem.ToString() %>
Если вы беспокоитесь о нулевых значений может потребоваться рефакторинг этого (.Сеть 6+)
<asp:Repeater ID="repeater" runat="server"> <ItemTemplate> <%# Container.DataItem?.ToString() ?? string.Empty%> </ItemTemplate> </asp:Repeater>
Примечание Если вы используете меньше, чем .NET 6 Вы не можете использовать оператор контейнер.Элемента данных?.ToString ()
установите ItemType в System.строка
<asp:Repeater ItemType="System.string" runat="server"> <ItemTemplate> <%# Item %> </ItemTemplate> </asp:Repeater>
rptSample.DataSource = from c in lstSample select new { NAME = c };
в ретранслятор вы ставите
<%# Eval("NAME") %>
Это должно работать просто отлично:
<ItemTemplate> <%=this.GetDataItem().ToString() %> </ItemTemplate>
вы должны использовать синтаксис databing здесь или он не будет работать.
<%# this.GetDataItem().ToString() %>
более полный пример, основанный на 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>
Внутри Шаблона Элемента
<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()%>