2009-07-10 5 views
1

asp 데이터 목록 컨트롤의 itemtemplate 섹션에있는 컨트롤 (내 경우에는 linkbutton)에 액세스하려면 어떻게합니까? 예를 들어, linkbutton을 false로 표시하려고하지만 코드 숨김에서 해당 링크를 참조하는 방법을 알 수 없습니다.DataList의 ItemTemplate에서 요소를 동적으로 숨기기

예제 코드 :

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit"></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist> 

감사합니다.

답변

3

당신은 항목 데이터 바운드 이벤트를 처리해야합니다. 그런 다음에 LinkButton을 찾아 다음과 같이이 속성을 설정합니다

protected void DataList1_ItemDataBound(object sender, DataListItemEventArgs e) 
{ 
    LinkButton lb=e.Item.FindControl("editButton") as LinkButton; 
    if(lb!=null){ 
     if(some condition){ 
      lb.Visible=false; 
     } 
    } 
} 

편집 : - 런타임에 사용자 정의 데이터 목록에 대한 자세한 정보를 얻을 수있는 것은 here

0

당신은 코드 숨김 당신이 할 경우 필요하지 않을 수도 있습니다 이 같은 것

<asp:datalist id="datalist1" runat="server"> 
<ItemTemplate> 
    <asp:label id="label1" runat="server"></asp:label> 
    <asp:linkbutton id="editButton" runat="server" text="Edit" Visible='<%# Eval("SomeBooleanDataElement") %>'></asp:linkbutton> 
</ItemTemplate> 
</asp:datalist> 
관련 문제