DJ메탈짱™의 Free Style

[ASP.NET] Data Control (GridView, DataList, Repeater) - HeaderTemplate에 있는 컨트롤 찾기(FindControl) 본문

일(job)/MS(Microsoft)

[ASP.NET] Data Control (GridView, DataList, Repeater) - HeaderTemplate에 있는 컨트롤 찾기(FindControl)

뽀&쏭 2015. 11. 15. 14:23

 

아래와 같이 ItemDataBound Event내에서 HeaderTemplate 에 있는 컨트롤을 FindControl을 통해서 찾아지지만 Label이 가지고 제어를 하려고 하면 오류 발생.

 

if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
     // aspx에 있는 DataList내에 있는 Label을 찾음.
     HtmlTableCell tdPhoneHead = (HtmlTableCell)e.Item.FindControl("tdMemimgHead");

     tdPhoneHead.Visible = false;

}

1. aspx Page

<HeaderTemplate>
     <tr align="center">
          <td>Name</td>
          <td runat="server" id="tdMemimgHead"></td>
          <td>Phone</td>
     </tr>
</HeaderTemplate>

 

2. aspx.cs Page

if (e.Item.ItemType == ListItemType.Header)
{
     HtmlTableCell tdPhoneHead = (HtmlTableCell)e.Item.FindControl("tdMemimgHead");

     tdPhoneHead.Visible = false;
}

 

결과적으로 FindControl을 통해 aspx에 있는 컨트롤을 찾는 방법은 동일하지만

입구가 틀리므로 해서 오류가 발생하는 것이였습니다. ^^;;;