2009-12-14 1 views
0

드롭 다운 목록의 선택한 항목에 대한 데이터베이스의 값 수를 기반으로 동적 레이블 및 텍스트 상자를 만듭니다. 그러면 동적 레이블에는 값과 함께 이름과 텍스트 상자가 생깁니다. Page_init 이벤트를 사용하여 이러한 컨트롤의 값을 유지합니다. 그래서 내가 캐시를 사용하여 드롭 다운 목록에서 selectteditem을 개최.ASP.NET 웹 양식 컨트롤을 동적으로 추가하면 페이지 새로 고침시 상태가 손실됩니다.

문제 : 프로세스가 정상적으로 진행 중입니다. 그러나 페이지를 새로 고치려고하면 항목이 드롭 다운 목록에서 선택되지 않지만 캐시가 명확하지 않으므로이 캐시 값 동적 컨트롤을 사용하면 생성됩니다.

+0

보기 상태가 좋을 수 있습니다 ... –

+0

enableViewState = "false" –

답변

1

동적으로 추가 된 컨트롤은 유지되지 않으므로 모든 페이지로드시 추가해야합니다. 따라서 DB에서 다시로드하거나 총 컨트롤 수를 저장하고 init 페이지의 인덱스를 사용하여 다시 작성해야합니다. ViewState는 이전 값을 유지하기 위해 해당 컨트롤에 다시로드됩니다.

작업을 수행해야한다는 것은 불행한 일이지만 동적 컨트롤의 경우입니다. 대안으로, 바인딩 된 항목의 목록을 보유 할 리피터를 사용할 수 있습니다.

HTH.