ASP.NET 리피터 바인딩 목록
나는 구속력이 있습니다.List<string>
리피터 컨트롤로 이동합니다.이제 사용하고 싶습니다.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 조건 연산자 컨테이너를 사용할 수 없습니다.데이터 항목?문자열로()
항목 유형을 시스템으로 설정합니다.끈
<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>
@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>
여기서 데이터 바인딩 구문을 사용해야 합니다. 그렇지 않으면 작동하지 않습니다.
<%# this.GetDataItem().ToString() %>
내부 항목 템플릿
<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
'programing' 카테고리의 다른 글
스위프트에서 배열을 섞으려면 어떻게 해야 합니까? (0) | 2023.04.29 |
---|---|
Bash/sh - & 및 ;의 차이 (0) | 2023.04.29 |
컨트롤러/뷰에 대한 ASP MVChref (0) | 2023.04.29 |
Openpyxl이 읽기 전용 모드에서 Excel 워크북을 닫지 않음 (0) | 2023.04.29 |
xcode에서 Base SDK, iOS 배포 대상, Target, Project의 의미는 무엇입니까? (0) | 2023.04.29 |