0
리피터의 데이터 소스로 항목 목록을 설정하고 사용자 지정 템플릿을 만들었습니다. 템플릿의 현재 바인딩 된 항목에 직접 액세스 할 수있는 방법이 있습니까? 내를 Page_Loadasp.net의 템플릿에서 바운드 리피터 항목에 액세스
List<MyObject> selections = new List<MyObject>();
selections.Add(new MyObject());
Repeater1.ItemTemplate = new MyObjectTemplate();
Repeater1.DataSource = selections;
Repeater1.DataBind();
템플릿에서
class MyObject
{
public string Somevalue{get;set;}
}
코드 아래 예제 코드
public class MyObjectTemplate : ITemplate
{
public void InstantiateIn(Control container)
{
//Get the current item
MyObject o = ????? as MyObject;
string txt = "<h1>"+ o.Somevalue + "</h1>";
LiteralControl h1 = new
LiteralControl(txt);
container.Controls.Add(h1);
}
}
내가 알고 난 그냥 거기 중계기에 "someValue와"의 값을 표시하고 싶었다면 이것을 달성하는 더 쉬운 방법 일 것이지만, 표시 할 가치와 더 복잡한 방법의 실제 논리.
'InstantiateIn' 실제로 따라서가 아니라, 항목을 다시 리피터가 (포스트 백에) 데이터 바인딩되지 않은 경우에도 호출됩니다있는 DataItem을 -이 경우, 가장 좋은 미끼는 DataBinder를 사용하는 것 . 이 링크는 다음과 같이 도움이 될 수 있습니다. http://community.devexpress.com/forums/t/70674.aspx –