웹 사이트의 주석 처리 시스템에서 작업하고 있으며 각 포스트 백에서 페이지가 사용자 정의 컨트롤을 생성합니다 ucComment)를이 페이지와 관련된 데이터베이스의 모든 주석에 대해 사용합니다. 각 ucComment에는 각각의 개별적인 댓글에 응답 할 수있는 응답 버튼이 있습니다.ASP.NET 3.5 컨트롤 ID 생성 작업 : 후속 포스트 백에서 컨트롤이 다른 순서로 만들어지는 포스트 백 이벤트
새로운 코멘트가 만들어 질 때마다 다음 포스트 백이 모든 페이지의 컨트롤 ID를 상쇄한다는 것을 마침내 깨달았을 때 응답 버튼에 아무런 문제가 없었습니다. 다시 말해, ctl00_Content_ctl00_ctl01_ctl0 _lbtnRespond를 클릭하면 해당 컨트롤이 실제로 다음 ctl00_Content_ctl00_ctl01_ctl0 으로 생성되고 다음 게시 역에 응답합니다. 그래서 ctl07과 연관된 사건은 단순히 일어나지 않을 것입니다.
웹에서 파고 들기 전에 ClientID를 무시하는 방법에 대해 읽었습니다. 컨트롤을 원하는대로 이름을 붙일 수 있다면 문제를 피할 수 있다고 생각했습니다. http://west-wind.com/Weblog/posts/4605.aspx 위대한 해킹처럼 보였지만 페이지의 생성 된 ID와 ID가 컨트롤 트리에 표시되는 방식이 서로 다르기 때문에 이벤트가 발생하지 않습니다.
도 컨트롤 트리가 포스트 백 일하기 위 해킹을 얻기 위해 작동하는 방식 변경 MasterPage에서 파생 된 사람이있다 : http://www.netquarry.com/index.php/2009/03/master-pages-ajax-and-javascript-10292/ 을하지만 난 말할 수없는 영향이있을 수 있음을 우려하고있다.
주석 달기 시스템이 특정 의견에 응답 할 수 있도록하려면 어떻게해야합니까? 해당 포스트 백에서 컨트롤의 이름이 변경 되더라도 여전히 응답 이벤트가 발생합니까?
와우 그것이 당신입니다! 하하. 나에게 돌아와 줘서 고마워. 사실 모든 것을 변경하고 ASP.NET 4.0으로 옮기기로 결정한이 특별한 문제를 다루는 데는 놀라움을 금치 못했습니다. 내 ClientIDMode를 static으로 설정하고 편집시 언급 한 기술을 사용합니다. 나는 당신의 해결 방법을 인상적으로 생각하며, 이번에는 당신을 위해 일해 온 것이 대단한 것입니다. 응답 해 주셔서 감사합니다. – HaterTot