사용자 지정 컨트롤을 만들 때 열기 및 닫기 컨트롤 태그 사이의 콘텐츠에 어떻게 액세스합니까?ASP.NET 사용자 지정 비 자동 마감 컨트롤
현재 임의의 마르크 업을 출력하는 데 Render 메서드를 사용하고 있지만 포함 된 마크 업에 액세스하는 방법을 찾을 수 없습니다.
사용자 지정 컨트롤을 만들 때 열기 및 닫기 컨트롤 태그 사이의 콘텐츠에 어떻게 액세스합니까?ASP.NET 사용자 지정 비 자동 마감 컨트롤
현재 임의의 마르크 업을 출력하는 데 Render 메서드를 사용하고 있지만 포함 된 마크 업에 액세스하는 방법을 찾을 수 없습니다.
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]
을 통해 찾을 수 있습니다.
나는 당신이하고 싶은 생각 :
<my:tag runtat="server">
<p><asp:Label id="markupLabel" runat="server"/></p>
</my:tag>
을 그리고 당신이 내에 ID 추가하면 코드 숨김에서
markupLabel.text = "Foo";
은 : 태그 태그, 당신은에 액세스 할 수 있어야합니다 컨트롤은 태그의 .Controls 컬렉션을 사용합니다.
굉장합니다. 내 사용자 정의 컨트롤 내에서 it.Controls 및 전화. 렌더링 그들을 "출력"캡처 할 수 있습니다. 감사! –