2009-04-30 3 views
0

등록 프로세스의 경우 개발자가 한 페이지 (5 개 섹션 각각은 사용자 정의 컨트롤)에 걸린 5 개의 서로 다른 페이지가 있습니다.각 컨트롤이 등록 페이지에서 하나의 페이지와 같은 이유는 무엇입니까?

한 번에 하나의 컨트롤 만 표시되도록 설정되어 있습니다.

각 컨트롤의 page_load 이벤트가 동시에 발생하는 것 같습니다.

디자인 문제입니까? 예상되는 동작입니까?

답변

0

로드 이벤트는 페이지 라이프 사이클의 같은 지점에있는 페이지의 모든 컨트롤에서 발생합니다 (예). 그것은 의도 되었기 때문에 각 컨트롤이 데이터베이스에서 데이터를 가져 오는 것과 같이 이벤트를 처리하거나 처리 할 수 ​​있습니다.

컨트롤이 표시되는지 여부에 관계없이로드 이벤트가 트리거됩니다. 당신

public yadda yadda yadda OnLoad(...) { 
    if(!this.Visible) return; 
    //... 
} 

같은 작업을 수행하여 아무것도 깨지 않고 논리를 건너 뛸 수 있습니다하지만 그 필요 보이는로드하기 전에 올바르게 설정하고, 갑자기 그것은 논리의 모든 건너 뛸 경우도 컨트롤이 침입하지 않는 것이 .

0

차례대로 각 컨트롤에서로드를 호출 할 것으로 예상됩니다.

컨트롤이 표시되는지 여부에 관계없이 서버에서 계속 처리됩니다.

1

이것이 실제로 작동하는 방식입니다. 모든 컨트롤이 페이지에 동시에 있고 visible 속성을 사용하고 있기 때문에 모든 컨트롤로드 이벤트가 발생합니다. 이를 피하려면 각 컨트롤이있는 다중 뷰를 해당 다중 뷰 내부에있는 자신의 뷰에 놓고 (컨트롤을 표시하도록 설정 한 다음) 사용자에게 표시/비 표시로 설정하지 말고 다중 뷰 현재 뷰 인덱스를 변경하십시오 통제 수단.

0

나는 이들이 "평행선으로"로드되어 있다고 생각하지 않습니다. 그들은 매우 빠르다.

모두 기본값으로 사용하지 않도록 설정하고 페이지에서 차례대로 사용하도록 설정합니다.
페이지로드가 활성화 된 경우에만 해당 페이지를로드합니다.

다른 한편으로, 나는 귀하의 등록을 벗기기를 강력히 제안합니다. 5 페이지의 정보가 필요하지 않으며 새로운 사용자를 두려워합니다.

관련 문제