문제

AutoPostback = true없이 드롭 다운 목록을 사용하는 방법.

서버의 값은 클라이언트 측에서 선택한 값에 따라 변경되지 않습니다. 내가 이미 말했듯이, 나는 각 드롭 다운마다 Autopostback이 포스트를 다시 트리거 할 것이기를 바라지 않습니다.

도움이 되었습니까?

해결책

드롭 다운의 가치를 잃을 때마다 값 변경을 처리하기 전에 방울을 엉망으로 만들고 다시 채웠 기 때문입니다. 저에게는 JavaScript 등의 항목 속성 추가와 같은 특별한 작업을 수행 해야하는 드롭 다운이있었습니다. 이것은 모든 페이지로드에 추가 해야하는 데이터입니다 (일명 드롭 다운과 같이 유지되지 않은 데이터는 드롭 다운에 지속되지 않는 데이터입니다. 각 항목의 이름과 값). 이 경우 부하에 대해이 작업을 수행 한 다음 Page Lifecycle 및 Doh의 뒷부분에서 값을 검색하려고합니다!

다음은 페이지 라이프 사이클입니다.

http://msdn.microsoft.com/en-us/library/ms178472.aspx

일어나고있는 도넛에 달러. 당신은 아마도 당신이 값을 가져 오기 위해 사용하는 모든 Postback 이벤트를 처리하기 전에 항목을 다시로드하는 것일 것입니다. 이 작업을 수행 하고이 작업 흐름을 해결할 수없는 경우, 드롭 다운을 채우는 논리의 시작 부분에서 선택한 인덱스를 저장 한 다음, 완료되면 해당 값으로 선택한 드롭 다운 인덱스를 설정하십시오.

다른 팁

ViewState에 저장 될 것이므로 결국 게시 할 때 값이 정확할 것이며, PostBack없이 현재 값을 얻는 것이 필사적이라면 JavaScript가이를 수행하는 방법입니다.

최악의 경우 요청 객체에서 바로 값을 가져올 수 있습니다.

string selectedID = Request[DropdownControl.UniqueID];

초기 페이지로드 중에 옵션으로 선택 상자를 채우는 것만으로 그리고 포스트 백 중에는 다시는 아닙니다.

if (!this.Page.IsPostBack) {
  //fill select box here
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top