2013-02-21 1 views
0

저는 자식에 대해 ItemTemplate이있는 ASP.NET 사용자 지정 복합 컨트롤을 만들었습니다. RssFeed (http://msdn.microsoft.com/en-us/library/aa479322.aspx) 예를 기반으로합니다. 템플릿에는 commandname과 commandargument를 데이터 소스의 속성에 바인딩하는 linkbutton이 있습니다. 포스트 백에서는 명령 이름과 명령 인수가 비어 있으며 포스트 백의 렌더링 후에 링크 버튼의 텍스트가 사라집니다. 이것은 링크 버튼이 viewstate를 잃어 가고 있다고 믿게합니다. 사용자 지정 합성 컨트롤이 CreateChildControls를 재정 의하여 해당 자식을 만듭니다. 템플릿은 viewstate가 활성화 된 contentplaceholder에서 인스턴스화됩니다. 항목을 나타내는 컨트롤은 일반 HTML 컨트롤을 상속하며 "div"태그를 사용합니다. 그것도 viewstate가 가능하게했습니다. 복합 컨트롤 trackviewstate가 데이터 바인딩 될 때 호출됩니다. 누구든지 링크를 viewstate 잃는 이유가 생각하십니까? 감사합니다.ViewState를 잃어 버리는 ASP.NET 사용자 지정 복합 컨트롤 템플릿 내의 Linkbutton

답변

0

나는 실수를 발견했습니다. 자녀 항목을 만들 때 부모 항목에 추가하고있었습니다. 그런 다음 데이터 바인딩을 시도했지만 문제는 부모가 컨트롤 계층에 추가되지 않아서 ViewState 추적이 켜지지 않았기 때문입니다.