문제

어떻게 설정의 속성에서 사용자 정의 컨트롤 ListViewko LayoutTemplate 코드에서 숨김?

<asp:ListView ...>
<LayoutTemplate>
<myprefix:MyControl id="myControl" ... />
</LayoutTemplate>
...
</asp:ListView>

나는 이런 일을 하고 싶:

myControl.SomeProperty = somevalue;

해 주십시오 나의 통제에 없 ItemTemplate, 에 LayoutTemplate, 다,그래서 그것은 존재하지 않는 모든 항목에 대해,그것은 존재합니다.그래서 나에 액세스할 수 있어야 합니다면 그것을 위해,아마 데이터 바인딩한 항목.

도움이 되었습니까?

해결책

의 속성을 설정하는 컨트롤 내부 LayoutTemplate,단순히 사용하 FindControl 방법에 ListView 제어합니다.

var control = (MyControl)myListView.FindControl("myControlId");

다른 팁

var control = (MyControl)myListView.FindControl("myControlId");

이것은 작지만 당신이 그것을 할 수 있는지 확인 후 데이터 바인딩하거나 LayoutTemplate 이 만들어지지 않은 따라서 던지고 오류가 있습니다.

FindControl 는 방법에는 각 ListViewItem.

var control = (MyControl)Item.FindControl("yourControlId");

이 대답했 Stack Overflow 질문:
컨트롤에 액세스 내부에 LayoutTemplate 의 컨트롤

시에 댓글을 허용되는 대답하여 tanathos.

내가 이것을 알고 물었 년 이상 전에,그러나 그것은 하나의 첫 번째 결과에 대한 검색어가 사용하는 여기에 도착,그래서 떠나고 싶었답에 대한 다른 사람을 만났습니다.

레이아웃을 작성되고,발사 LayoutCreated 이벤트는 레이아웃에 생성되었 시스템입니다.

다음을 사용할 수 있습니다 listview.FindControl 을 얻을 참조하 제어합니다.

가 필요한 경우 VB.net 버전에,그것은 여기:

Dim control = CType(myListView.FindControl("myControlId"), MyControl)
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top