반응형
C# Repeater

ASP.NET WebForm에서 중첩 리피터 사용 시 부모에 바인딩된 값을 자식 리피터에서 사용하는 방법

Test.aspx

 

<asp:repeater id="rptQuestionList" runat="server" onitemdatabound="rptQuestionList_OnItemDataBound">
   <asp:repeater id="rptAnswerList" runat="server" onitemdatabound="rptAnswerList_OnItemDataBound">
     
	<!-- 방식 1  다이렉트로 접근 //-->
     <%# DataBinder.Eval(Container.Parent.Parent, "DataItem.QuestionNo")%>
     
	<!-- 방식 2 aspx.cs 영역에 메소드를 작성하는 방식 //-->
     <%#GetQustionNo(Container) %>
     
   </asp:repeater>
</asp:repeater>

 

Test.aspx.cs
#region 부모리피터 데이타 바인딩
// 중첩리티터에서 부모 리피터 item 호출

protected string GetQustionNo(object itm)
{
    RepeaterItem ritm = itm as RepeaterItem;
    RepeaterItem parentItm = ritm.Parent.Parent as RepeaterItem;
    DataRowView rview = parentItm.DataItem as DataRowView;
    
    return rview["QuestionNo"].ToString();
}

#endregion

 

반응형

'Programming > C#' 카테고리의 다른 글

[C#] short url 생성(bit.ly)  (0) 2014.02.13
[C#] HttpWebRequest Class 활용한 Post 전송  (0) 2014.02.13
[C#] Win7 x64 IIS에서 32bit 응용 프로그램 사용  (0) 2014.02.13
[C#] Generic 이란.  (0) 2014.01.07

+ Recent posts