2013-04-19 2 views
0

UpdatePanel 안에 ASP.NET Repeater 컨트롤이 있습니다. ImageButton (Repeater 템플릿 내부)을 클릭하면 다른 컨트롤을 업데이트해야합니다. 문제는 내가 그걸 방아쇠를 당길 수 없다는 것입니다.리피터 컨트롤에서 업데이트 패널에 대한 비동기 포스트 백 트리거

패널 upPanelRotator이 새로 고쳐집니다 ... 어느 것입니까 가 원합니다 ... 저는 서버로 다시 호출하여 서버에서 제어 할 다른 패널을 업데이트하려고합니다.

아이디어가 있으십니까? 패널 a 트리거 버튼을 가지고 있으며, 당신이 PanelB를 업데이트하려면

<asp:UpdatePanel ID="upPanelRotator" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <asp:Repeater ID="rptRotator" runat="server" OnItemCommand="rptRotator_ItemCommand"> 
      <ItemTemplate> 
       <asp:ImageButton ID='imgBtn' runat="server" /> 
     </asp:Repeater> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="imgBtn" EventName="ItemCommand" /> 
    </Triggers> 
</asp:UpdatePanel> 
+0

우선 태그 닫는 문장이 없습니다. ''. 둘째로, 예상대로 서버 측에서'rptRotator_ItemCommand' 함수가 트리거됩니까? 셋째, 업데이트하려는 두 번째 패널 선언을 포함 할 수 있습니까? – Jesse

답변

0

, 당신은 PanelB 주변 UpdatePanel에 비동기 포스트 백 트리거를 가질 필요가있다. 문제는 버튼의 실제 ID를 제공해야한다는 것입니다. 위와 같은 imgButton을 지정하면 작동하지 않습니다 (repeater에 많은 수의 리피터가있을 수 있기 때문에 비동기 트리거가 수행 할 수없는 참조가 하나 필요합니다). 발견). 이것을 매우 단순하게 만들려면 UpdatePanel에있는 모든 것을 랩핑하면됩니다. 그렇지 않으면 내가 믿는 코드에서 비동기 포스트 백 트리거를 추가해야합니다.

0

업데이트 할 업데이트 패널에 비동기 포스트 백 트리거를 추가 할 수 있어야합니다. 이 같은 중계기의 제어 ID와 이벤트 이름으로 "ItemCommand"이벤트 ... 설정 :

<asp:UpdatePanel ID="updatePanel2" runat="server" ChildrenAsTriggers="false" UpdateMode="Conditional"> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="repeaterId" EventName="ItemCommand" /> 
    </Triggers> 
    <ContentTemplate> 

...

0

내가 지금 비슷한 상황이, 그리고 그래서이 작업을 수행해야 나는 다른 UpdatePanel리피터 내부 통제를 포장, 나는 의 AutoPostBack = "true"로 해당 컨트롤의을 설정하고

< ASP를 등록하는 것이 : AsyncPostBackTrigger를 ControlID = "imgBtn"EventName = "Click"/>

내 유일한 고려 사항은 얼마나 많은 UpdatePanels가 성능에 반영되는지입니다. 몇 가지 DB 항목이있는 소규모 프로젝트가 있지만 더 많은 양의 데이터에 대해서는 그러한 개입 전과 후에 성능을 테스트합니다.

관련 문제