반응형
ASP.NET 리피터 바인딩 목록
나는 List<string>
Repeater 컨트롤에 바인딩하고 있습니다. 이제이 Eval
기능 을 사용 하여 내용을 다음 ItemTemplate
과 같이 표시하고 싶습니다.
<%# Eval("NAME") %>.
하지만 NAME 대신 무엇을 사용해야하는지 잘 모르겠습니다.
그냥 사용 <%# Container.DataItem.ToString() %>
null 값이 걱정되는 경우이를 리팩토링하는 것이 좋습니다 (.NET 6 이상).
<asp:Repeater ID="repeater" runat="server">
<ItemTemplate>
<%# Container.DataItem?.ToString() ?? string.Empty%>
</ItemTemplate>
</asp:Repeater>
.NET 6 미만을 사용하는 경우 null 조건 연산자 Container.DataItem? .ToString ()을 사용할 수 없습니다.
ItemType을 System.string으로 설정합니다.
<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() %>
@RobertoBr에서 제공하는 LINQ를 기반으로 한 더 완전한 예제 :
코드 뒤에 :
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()%>
참고 URL : https://stackoverflow.com/questions/5011617/asp-net-repeater-bind-liststring
반응형
'Programming' 카테고리의 다른 글
ViewPager에서 프로그래밍 방식으로 다음보기를 표시하는 방법은 무엇입니까? (0) | 2020.08.15 |
---|---|
RSpec : 메서드가 호출되었는지 테스트하는 방법은 무엇입니까? (0) | 2020.08.15 |
Eclipse 포맷터가 모든 열거 형을 한 줄에 배치하는 것을 중지하는 방법 (0) | 2020.08.15 |
표 셀에 여러 줄 문자를 표시하는 방법 (0) | 2020.08.15 |
런타임에 특정 하위보기에 대한 자동 레이아웃을 비활성화 할 수 있습니까? (0) | 2020.08.15 |