3
객체 목록에 바인딩 C#으로하는 ASP.NET 리피터 동적으로 만들기 내가 동적으로 리피터를 만들고 동적으로 내 객체 목록에 바인딩하려고하는 사용자 정의 컨트롤에서 작업하고 있습니다. 여기 내 코드는 다음과 같습니다.내가 아주 간단한 객체를 가지고
private Repeater docList;
docList = new Repeater();
docList.DataSource = documentTypes;
docList.DataBind();
foreach (RepeaterItem repeatItem in docList.Items)
{
// if condition to add HeaderTemplate Dynamically only Once
if (repeatItem.ItemIndex == 0)
{
RepeaterItem headerItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Header);
HtmlGenericControl hTag = new HtmlGenericControl("h4");
hTag.InnerHtml = "Header";
repeatItem.Controls.Add(hTag);
}
// Add ItemTemplate DataItems Dynamically
RepeaterItem repeaterItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Item);
Label lbl = new Label();
// This part is completely broken!
lbl.Text = string.Format("Content: {0} {1} <br />", (DocumentType)repeaterItem.DataItem).ID, repeaterItem.NamingContainer);
repeatItem.Controls.Add(lbl);
// Add SeparatorTemplate Dynamically
repeaterItem = new RepeaterItem(repeatItem.ItemIndex, ListItemType.Separator);
LiteralControl ltrlHR = new LiteralControl();
ltrlHR.Text = "<hr />";
repeatItem.Controls.Add(ltrlHR);
}
헤더와 구분 기호가 훌륭합니다. 항목 템플릿을 현재 항목에 바인딩하여 표시되도록하는 방법을 알 수 없습니다. 나는 내가 지금 거기에서 무엇을 가지고 있는지를 완전히 깨뜨렸다. 그러나 나는 행운이없는 여러 변형을 시도했다.
올바른 도움말을 미리 알려 주셔서 감사합니다.
존 감사합니다. 코드가 완벽하게 작동했습니다. 내가 보았던 모든 샘플 코드에서 그 스 니펫을 찾을 수 없었습니다. 나는 어딘가에서 간단한 임무 였다고 느꼈다. 다시 한 번 감사드립니다! – Dexter