문제

ASP.NET에서 파일 브라우저를 만들고 있지만 동적 컨트롤의 이벤트 와이어링과 관련된 문제가 발생했습니다. 내 코드가 여기에서 무엇을하는지 설명하겠습니다.

내 페이지로드 (onload)가 LinkButton과 관련된 디렉토리로 현재 디렉토리를 변경하는 이벤트에 연결된 여러 개의 linkbuttons (현재 디렉토리의 폴더를 나타내는)를 생성하는 메소드 (createStuff ())를 호출합니다. .

Onload가 호출 된 후 LinkButton-Click-Event가 발사되므로 (따라서 현재 디렉토리가 Onload 후 먼저 변경됨) LinkButtons는 새 현재 디렉토리를 반영하도록 업데이트되지 않습니다 (현재 디렉토리가 클릭으로 변경되기 전에 생성됩니다. -이벤트). 따라서 OnloadComplete에서 CreateStuff ()를 호출하여 LinkButtons가 업데이트되고 새 현재 디렉토리의 폴더를 반영합니다.

그러나 (그리고 이것은 내 문제입니다) 이벤트 와이어링 (Click += new Eventhandler (ChangeIrectory))에서 수행하는 방법이 OnloadComplete에서 메소드를 호출 할 때 실제로 작동하지 않는 것 같습니다 (OnloadComplete는 LinkButton- 이후에 호출됩니다. 클릭 이벤트가 해고되었습니다). 결과적으로 LinkButtons의 텍스트-프로파일이 새 디렉토리의 폴더를 반영하는 동안 LinkButtons를 클릭하면 이벤트가 시작되지 않습니다.

이 문제를 해결하려면 어떻게해야합니까? Onload에서 LinkButtons의 이벤트를 다시 와이어링했지만 동일한 결과를 얻으려고했습니다.

미리 감사드립니다

사이먼, 덴마크

도움이 되었습니까?

해결책

LinkButton을 설정하십시오 ID 일관되게 속성.

이 동작의 두 가지 일반적인 원인은 (1) 누락 된 이벤트 핸들러와 (2) ID 속성 누락입니다. 이벤트 핸들러가 첨부 중이라고 확신하기 때문에 OnLoad 그런 다음 ID 속성이 누락 된 것은 원인 일 가능성이 높습니다.

사용자가 클라이언트에서 LinkButton을 클릭하면 Postback이 서버로 전송되는 링크 버튼의 이름을 ID로 표시합니다. 컨트롤이 Postbacks 사이에 동일한 ID를 가지고 있는지 확인하지 않으면 이벤트 핸들러가 제기되지 않을 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top