문제

인사말,이 복잡한 문제에 대한 간단한 솔루션이 있기를 바랍니다. 내가 그 과정에서 가지고있는 오해를 바로 잡으십시오. 얼마 전에 나는 동적 열 기능이있는 griview를 썼습니다. 열은 OnInit 페이지 이벤트에 추가되므로 ViewState가 적용되기 전에 추가됩니다. 이들은 페이지 의이 섹션의 모든 게시물에 다시 적용되므로 ViewState가 적용될 때 사용자가 데이터베이스에 적용하고 데이터베이스에 커밋하지 않은 변경 사항이 유지되도록합니다. ViewState Control Tree가 동기화에서 벗어나 모든 것을 날려 버리는 것을 원하지 않는 경우에도 필요합니다.

내 현재 문제는 이제 드롭 다운 목록을 기준으로 열이 다른 곳에서 본질적으로 동일한 작업을 수행한다는 것입니다 (DDL이 변경되면 GridView를 재현하고 사용자는 모든 경고로 작업을 잃게됩니다). Oninit 이벤트에서 드롭 다운 목록에서 선택한 ID를 어떻게 얻을 수 있습니까? 내 이해는 사용자가 클라이언트 측에서 DDL의 값을 변경하면 JavaScript“__dopostback”호출이 시작된다는 것입니다. 그런 다음 페이지 요청이 서버로 전송되지만 이벤트 핸들러에 새 값이 존재할 때까지 열을 추가 해야하는 지점을지나갑니다.

사람들이 어떤 컨트롤이 게시물을 가져 왔는지 결정하려고 할 때 유망한 것으로 생각했지만 그 코드는 page.request.params.get ( "__ eventTarget")에 의존합니다. 그리고 비어있는 page.request.form.

세션 상태를보고 클라이언트 측 조작을 사용하여 ID를 '보내기'또는 다른 방법 (아마도 내가 놓친 뷰 스테이트를 볼 수있는 교활한 방법)을 사용해야합니까?

아이디어에 감사드립니다 !!!

도움이 되었습니까?

해결책

컨트롤의 제출 된 값은 양식이 아직 재구성되지 않은 것처럼 보이도 요청 [] 컬렉션에서 사용할 수 있습니다.

다음을 사용하여 init () 중에 선택한 값을 얻을 수 있어야합니다.

string value = Request["myDropDownID"];
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top