2010-01-06 5 views
1

사용자 지정 컨트롤을 만들 때 열기 및 닫기 컨트롤 태그 사이의 콘텐츠에 어떻게 액세스합니까?ASP.NET 사용자 지정 비 자동 마감 컨트롤

현재 임의의 마르크 업을 출력하는 데 Render 메서드를 사용하고 있지만 포함 된 마크 업에 액세스하는 방법을 찾을 수 없습니다.

답변

2

this.Controls을 살펴보십시오. 이 문서 : http://msdn.microsoft.com/en-us/library/system.web.ui.control.controls(VS.71).aspx 상태 "컨트롤에 서버 컨트롤의 여는 태그와 닫는 태그 사이에 선언적으로 추가 ASP.NET 페이지에는 ASP.NET이 자동으로 포함하는 서버 컨트롤의 ControlCollection에에 컨트롤을 추가합니다."

로를 당신이 그 다음은 P 태그는 서버 측에서 생성되기 때문에, this.FindControl("innerP").text="Other text here를 호출 할 수있을 것

<yourcode:yourcontrol id="asdf" runat="server"> 
    <p id="innerP" runat="server">Text here</p> 
</yourcode:yourcontrol> 

이있는 경우까지 나는 이해한다. 당신은 P 요소에 runat="server" 설정이없는 경우

그러나, 모든 내용이 하나의 Literal 컨트롤에 렌더링되기 때문에

<yourcode:yourcontrol id="asdf" runat="server"> 
    <p id="innerP">Text here</p> 
</yourcode:yourcontrol> 

은 만 만 this.controls[0]을 통해 찾을 수 있습니다.

+0

굉장합니다. 내 사용자 정의 컨트롤 내에서 it.Controls 및 전화. 렌더링 그들을 "출력"캡처 할 수 있습니다. 감사! –

0

나는 당신이하고 싶은 생각 :

<my:tag runtat="server"> 
    <p><asp:Label id="markupLabel" runat="server"/></p> 
</my:tag> 

을 그리고 당신이 내에 ID 추가하면 코드 숨김에서

markupLabel.text = "Foo"; 
0

은 : 태그 태그, 당신은에 액세스 할 수 있어야합니다 컨트롤은 태그의 .Controls 컬렉션을 사용합니다.

관련 문제