/* DataSource에 DataRow 등을 이용해 바인딩 할 경우 */ <asp:repeater id="MyRepeater" runat="server"> <ItemTemplate> <asp:Label Text='<%# DataBinder.Eval(Container.DataItem, "wiz.pe.kr") %> </ItemTemplate> </asp:repeater>위와 같은 일반적 상황에서는 데이터 바인딩에 문제를 느끼지 못하고 개발을 하죠. 하지만 문제는 데이터 소스로 배열 값을 이용해야 하는 경우도 있죠. 상당히 쉽지만 사용 빈도가 적어서 문법이 생각 나지 않을 때가 종종 있습니다. 아래와 같이 사용하면 됩니다.
/* DataSource에 배열을 바인딩 할 경우 */ <%# Container.DataItem %>또 다른 방법은 바인딩 이벤트를 이용해서 코드에서 바인딩을 구현해 주면 됩니다.
override protected void OnInit(EventArgs e) { InitializeComponent(); base.OnInit(e); } private void InitializeComponent() { // 이벤트를 등록 합니다. this.linkList.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.linkList_ItemDataBound); this.Load += new System.EventHandler(this.Page_Load); } private void linkList_ItemDataBound(object sender, System.Web.UI.WebControls.RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.Item) { // 바인딩 할 소스를 읽어드립니다. string itm = e.Item.DataItem.ToString(); Literal tLinkURL = (Literal)e.Item.FindControl("linkURL"); if (tLinkURL != null) { tLinkURL.Text = itm; } } }간단한 내용 이지만 한번 정리 해봤습니다.
[XHTML] head 태그 (0) | 2007.11.06 |
---|---|
[XHTML] title 태그 (0) | 2007.10.30 |
[XHTML] body 태그 (0) | 2007.10.23 |
[.NET&C#] 변수형 (0) | 2007.10.22 |
[C# & .NET] C#을 이용한 사용자 정의 Event 구성 (0) | 2007.09.28 |
[XHTML] XHTML 기본 문법 (0) | 2007.09.26 |
[CSS] IE6 position:fixed 적용하기 (2) | 2007.09.20 |
[ASP.NET] OutputCache에서 VaryByCustom 사용 (0) | 2007.09.17 |