2014-04-18 6 views
1

시나리오 1 : 하나의 사용자 정의 컨트롤을 동적으로로드하고 있습니다. 이 동적으로로드 된 사용자 정의 컨트롤에서 동적으로 다른 사용자 정의 컨트롤을로드합니다.동적으로로드 된 컨트롤이 다시 게시하는 동안 왜 손실됩니까?

하지만 포스트 백 중에는 동적으로로드 된 컨트롤이 모두 손실됩니다.

시나리오 2 : 하나의 사용자 정의 컨트롤을 Page.aspx 페이지에 배치했습니다. 이 사용자 정의 컨트롤에서 동적으로 다른 사용자 정의 컨트롤을로드하고 있습니다.

그러나이 시나리오에서는 포스트 백 컨트롤이 유지됩니다.

컨트롤이 시나리오 2에서 유지되는 이유는 무엇이며 시나리오 1에서는 그렇지 않은 이유는 무엇입니까?

답변

1

시나리오의 문제 일이 - 동적으로 컨트롤을로드하면

, 당신은 후 다시 후 다시 후 Page_Init (또는를 Page_Load)에서 동일한 ID로 다시로드해야합니다.

다시로드하기 위해 일반적으로 ViewState에 Control의 ID를 유지하여 포스트 백을 유지합니다.

Here은 예입니다.

+0

그러나 시나리오 2에서 컨트롤이 유지되는 이유는 무엇입니까? 이 시나리오에서는 또한 사용자 정의 컨트롤에서 동적으로 컨트롤을로드 할, 다시 게시하는 동안 동적으로로드 된 사용자 정의 컨트롤을로드하지 오전. – Siva

+0

코드를 보지 않고도 문제의 원인을 말할 수 없습니다. 그러나 동적으로 생성 된 컨트롤은 일반적으로 포스트 백에서 다시로드해야합니다. – Win