2011-12-17 2 views
1

masterpage에서 enablepartialrendering을 사용하는 scriptmanager가 true입니다. 사용자 컨트롤이있는 페이지에서이 usercontrol에 Updatemode가있는 업데이트 패널이 조건부입니다.업데이트 패널 전체 페이지 새로 고침

이미지 상자를 클릭하면 항목을 왼쪽 목록 상자에서 오른쪽 목록 상자로 바꿔주는 두 개의 목록 상자가 있습니다. (잘 작동합니다)

두 개의 이미지 버튼은 스타일 시트의 div 블록에 있습니다. 포스트 백 트리거를 사용합니다. 여전히 전체 페이지가 수정되었습니다. 내가 뭘 잘못하고 있습니까? 에 의해

<%@ Register Src="~/Controls/DoubleListBox.ascx" TagName="DoubleListBox" TagPrefix="lsb" %> 

에 의해

<%@ Control Language="C#" AutoEventWireup="true" CodeBehind="DoubleListBox.ascx.cs" 
Inherits="site.Controls.DoubleListBox" %> 
<div class="formfield ff_itemswapper"> 
<asp:Label ID="Label" runat="server" /> 
<div class="itemswapper"> 
    <asp:UpdatePanel ID="updatePanelListboxes" runat="server" UpdateMode="Conditional"> 
     <ContentTemplate> 
      <asp:ListBox ID="lsbFrom" runat="server" CssClass="is_current"></asp:ListBox> 
      <div class="is_transfers" runat="server"> 
       <asp:ImageButton ID="imb_Left" runat="server" CssClass="is_transfer_in" ImageUrl="../Images/gfx/arrow_left.png" 
        OnClick="imbLeft_Click" CausesValidation="False" /> 
       <asp:ImageButton ID="img_Right" runat="server" CssClass="is_transfer_out" ImageUrl="../Images/gfx/arrow_right.png" 
        OnClick="imgRight_Click" CausesValidation="False" /> 
      </div> 
      <asp:ListBox ID="lsbTo" runat="server" CssClass="is_source"></asp:ListBox> 
     </ContentTemplate> 
     <Triggers> 
      <asp:PostBackTrigger ControlID="imb_Left" /> 
      <asp:PostBackTrigger ControlID="img_Right" /> 
     </Triggers> 
    </asp:UpdatePanel> 
</div> 

목록 상자가 aspx 페이지에 등록

그리고 전화 :

<lsb:DoubleListBox ID="lsbPractise" runat="server" /> 
+0

일부 코드를 입력하십시오. –

+0

더 많은 코드가 필요하면 질문하십시오. 미리 감사드립니다! – 1SeoAdvies

답변

3

당신은 PostBackTrigger이 무엇을 오해하는 것 같다.

PostBackTrigger은 전체 페이지 다시 게시를 발생시키는 반면 AsyncPostBackTriggerUpdatePanel에서 AJAX 호출을 수행합니다. UpdatePanel안에있는 모든 요소는이고 AsyncPostBackTrigger이라고하며 패널 외부의 모든 요소는 PostBackTrigger입니다.

문제를 해결하려면 전체 Triggers 섹션을 제거하십시오.

+1

답장을 보내 주셔서 감사합니다. 트리거 섹션을 삭제했지만 여전히 전체 페이지를 새로 고쳤습니다. 그리고 사실 나는 항상 asp.net에서 이것을 발견하여 그들을 혼란스럽게합니다. AsyncPostBackTrigger 일반적으로 컨트롤이 된 UpdatePanel 후 외부 다시 ChildrenAsTriggers는 UpdatePanel이 다시 전화보다는 다시 게시해야 내에서 제어하는 ​​지정할 수 있습니다 "거짓" PostBackTrigger 내부 컨트롤을하자 = 경우 경우 업데이트를 실행하는 데 사용되는 비동기 콜백 에 포스트 백을 변환 UpdatePanel post back 일반적으로 ChildrenAsTriggers = "true"일 때 특정 컨트롤을 다시 게시 할 수있게하는 데 사용됩니다. – 1SeoAdvies

+0

문제를 해결했지만 트리거 섹션을 지우는 것이 확실하지 않은 경우 * 및 * UpdateMode = "조건부" '라인은 그것을 고쳐야한다. 'UpdatePanel'의 기본 동작을 원합니다. 코드는'ChildrenAsTriggers'의 기본값을 변경할 필요가있을 정도로 복잡하지 않습니다. –

+0

다시 한번 감사드립니다! 나는 당신이 제안한 것을했지만 아직도 (아직) 효과가 없습니다. 무엇 향후 계획???? – 1SeoAdvies

관련 문제