System.Web.UI.Control
에서 상속하는 사용자 지정 컨트롤이 있고 그 속성 중 일부는 데이터 바인딩 식을 사용하여 선언적으로 설정할 수 있습니다. 예 : 이제ASP.NET 컨트롤 속성에 데이터 바인딩식이 포함되어 있는지 확인하는 방법은 무엇입니까?
<foo:Foo runat="server" MyFoo="<%# this.GetFoo() %>" />
, 나는 이러한 식을 평가하기 위해 제어에 .DataBind()
(또는 부모 중 하나)를 호출 할 필요가 있다고 할 때. 내가 할 수 있도록하고 싶습니다 무엇
는 어떤 속성이이 방법을 설정하고 단지 자동 약이 OnPreRender
또는 후 사용자 지정 컨트롤 호출 this.DataBind()
이 있다면 감지 기능을 설정하는 메뉴입니다.
질문 : : 데이터 바인딩식이 실행되기를 기다리는 경우 어떻게 감지합니까?
일부 ControlBuilder
또는 DataBindContext
클래스에서이를 확인하는 데 필요한 정보가 있다고 확신합니다. 나는 반사경으로 사냥을 해봤고 그것을 발견 할 수없는 것처럼 보였다.
직접 속성이 할당되지 않은 경우 DataBind()
을 실행하는 오버 헤드를 지불하고 싶지는 않습니다. 이것이 내가 전에 손에 들고 싶었던 이유입니다. 이 클래스는 매우 가볍지 만 코드가 필요없이 선언적으로 속성을 설정하는 기능을 원합니다.
왜 단순히 코드 뒤에 Page.DataBind()를 사용하여 바인딩하지 않을까요?! 그것은 그 페이지의 모든 컨트롤을 무의식 중에 바인딩 할 것입니다 ... 참조 : http://support.microsoft.com.com/kb/307860 # 1b –
필자는이 질문에서 DataBind()가 필요하지 않은 경우이를 실행하는 오버 헤드를 지불하고 싶지는 않습니다. – mckamey