2009-03-13 10 views
1

코드 비헤이비어에서 사용하지 않도록 설정된 ListBox가 포함 된 페이지가 있습니다. 이 ListBox는 페이지의 체크 박스를 선택하여 활성화 할 수 있습니다. 그것은 JQuery를 사용하여 자바 스크립트로 다시 활성화됩니다.Asp.Net ListBox 및 JQuery

따라서 문제는 페이지에서 컨트롤을 처음 사용하지 않도록 설정 한 다음 다시 활성화 할 때 문제가 발생합니다. 선택한 항목이 있어도 선택한 항목이없는 것입니다.

코드 숨김에서 ListBox를 사용하지 않으면 동일한 코드가 제대로 작동합니다.

JQuery를 사용하여 ListBox를 다시 활성화하는 방법이 있습니까? 그래서 선택한 값이 서버에 게시됩니까?


2005 VS없이 .NET MVC

답변

1

당신은리스트 박스는 항상 서버 측이 사용하고 볼 수있는 솔루션을 함께 제공해야합니다를 사용하여 .NET 2.0 프로젝트입니다. 그래서 select을 비활성화하는 jQuery 전용 솔루션입니다. 숨겨진 필드를 추가하고 select의 활성화 여부에 대한 스위치를 저장하십시오. 이렇게하면 jQuery 코드가 포스트 백 시점에 컨트롤을 사용할 수 있는지 여부를 서버에보고 할 수 있습니다.

분명히 숨겨진 필드를 연결하고 함께 선택하여 비활성화/활성화 상태를 관리하려면 jQuery 코드를 작성해야합니다.

편집 : 이제 생각해 봅시다. Request.Form 컬렉션에서 선택 항목의 값을 가져오고 Page_Init 동안 ListBox에 값을 할당 할 수 있습니다. ListBox.*Changed 이벤트가 손실됩니다.

+0

나는 이것을 생각해 볼 수 있었는지, 체크 박스 상태인지를 알 수있는 방법이 있지만 문제는 이것이 모두 업데이트 패널 내부이기 때문에 문서 준비가 불가능하기 때문에 준비가 어렵다. 항상 재 작성되고 있습니다. –

+0

Ahhh, 나는 UpdatePanels에 익숙하지 않다. 그러나 나는 Request.Form에서 값을 가져 오는 또 다른 접근법 인 –

+0

을 추가하여 편집했습니다. –

1

이 문제를 해결하려면 Request.Form [listbox.ClientID]을 통해 포스트 백에 값을 가져 오는 것이 좋습니다. ViewState를 사용하는 것과 같이 "훌륭함"이 아니라 작동해야합니다.