AsyncPostBackTrigger의 EventName 특성에서 'EventName'asp.net이 예상하는 바가 무엇인지 파악하는 데 문제가 있습니다. (내가보고있는 방아쇠는 asp.net WebPart의 드래그 이벤트입니다. 그걸 기반으로 대답을 아는 사람이 있다면 위대합니다.)AsyncPostBackTrigger EventName - 어떻게 결정합니까?
__EVENTTARGET이 (는) 해당 컨트롤의 ID를 알려줘야합니다. 이벤트를 시작한 후 __EVENTARGUMENT이 (가) 이벤트 이름을 알려 주어야합니다.
트리거가되어야합니다 알아낼하려고, 난 다시 게시 페이지로드에 몇 가지 코드를 추가했습니다 :
Me.txtEventTarget.Value = Me.Page.Request.Params("__EVENTTARGET")
Me.txtEventArg.Value = Me.Page.Request.Params("__EVENTARGUMENT")
을 내가 다시 게시를 트리거하면, 다음과 같은 출력을 얻을 :
txtEventTarget :
ctl00 $ cphDataEntry $ ZONE2
txtEventArg :
드래그 : WebPart_gwpucMyFiles : 0
'이벤트 인수'는 실제로 이벤트의 이름, 이벤트를 트리거하는 컨트롤의 ID와 같은 모양 및 이벤트와 관련된 값의 세 부분으로 구성된 복합 개체입니다.
하지만 ASP.Net이 ID에 대해 수행하는 작업은 무엇입니까? 밑줄과 달러 기호가있는 짜증나는 일을하지만 왜이 두 변수에 다른 형식을 사용합니까? 둘 다 밑줄을 포함하면 안됩니까?
내 페이지의 html 소스를 볼 때 컨트롤 ID는 다음과 같이 보입니다. "ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles". 하위 컨트롤의 ID가 고정됩니다. 나는이 때
어쨌든, 그것은 작동하지 않습니다 그래서
<Triggers>
<asp:AsyncPostBackTrigger ControlID="ctl00_cphDataEntry_WebPartManager1_gwpucMyFiles" EventName="Drag"/>
</Triggers>
을, 사람이 나는 AsynchronousPostbackTrigger에 넣어해야하는지 알고 있나요? EventName은 단순히 "끌기"입니까? 그렇다면 'ControlID'속성에 대한 내 컨트롤의 전체 ID가 필요합니까? 그렇다면 전체 ID를 어떻게 결정합니까? 달러 기호 형식이나 밑줄 형식이어야합니까?
대단히 감사합니다. 처음에 WebPartManager를 좀 더 연구 했어야 만했습니다.웹 파트가 움직이기 시작하면 WebPartMoving이 실행됩니다. 완료되면 WebPartMoved가 시작됩니다. – pabrams