2011-10-20 2 views
0

리피터 컨트롤이 있고이 리피터 컨트롤 안에 두 개의 이미지 단추가있는 사용자 컨트롤이 있습니다.리피터에서 페이지에서 웹 사용자 컨트롤까지 사용 안 함

이제이 웹 사용자 정의 컨트롤을 페이지에서 호출하고 있는데,이 페이지의 이미지 단추에 가시성을 false로 설정하려고합니다. . 나는이

this.Comment1.FindControl ("btnAddNote")와 같은 UserControl을의 다른 제어를 위해 거짓 가시성을 설정할 수 있어요

표시 = 거짓;

하지만 난

내가 어떻게 할 수 있습니다

중계기의 ItemTemplate을 내부에 2 개의 이미지 버튼에 대한 거짓 표시 여부를 설정할 수 없습니다 무엇입니까? 도와주세요.

답변

0

리피터 내부의 컨트롤을 처리 할 때 FindControl 메서드는 항목 템플릿의 컨트롤에 액세스 할 수 없습니다. 이렇게하려면 각 repeater 항목을 반복하고 RepeaterItem에서 FindControl을 사용해야합니다.

리피터가 사용자 정의 컨트롤 안에 있으므로 이처럼 사용자 정의 컨트롤에서 메소드를 만들고 페이지에서 호출하는 것이 좋습니다.

//user control 
public void HideNotes(){ 
    foreach (RepeaterItem ri in Repeater1.Items) 
     ri.FindControl("btnAddNote").Visible = false; 
} 

//page 
void btn_hide_Click(object sender, EventArgs e){ 
    this.Comment1.HideNotes(); 
} 
+0

답장을 보내 주셔서 감사합니다.하지만 페이지로드에서 함수에 액세스 할 때 리피터에 항목이 없음을 보여줍니다. 하지만 그것은 2 행을 가지고 – Zerotoinfinity

+0

귀하의 항목을 반복하려고 할 때까지 귀하의 중계기가 데이터 바인딩되어 있습니까? – agradl