2015-01-23 8 views
0

상황 : 업데이트 패널 내의 체크 박스 다른 업데이트 패널 안에있는 여러 줄의 텍스트 상자. 사용자가 확인란을 선택하면 여러 줄 입력란에 이름이 표시됩니다. 제대로 작동합니다.드롭 다운이 업데이트 패널에서 lbl을 업데이트하지 않음

HTML :

<asp:UpdatePanel ID="upTraveling" runat="server" 
    UpdateMode="Conditional" ChildrenAsTriggers="False"> 
    <ContentTemplate>       
     <asp:CheckBox ID="cbRUTraveler" runat="server" Text="I am a Traveler" AutoPostBack="True" 
    oncheckedchanged="cbRUTraveler_CheckedChanged1" /> 
    </ContentTemplate> 
</asp:UpdatePanel> 
<td> 
    <asp:UpdatePanel ID="upTravelers" runat="server" ondatabinding="cbRUTraveler_CheckedChanged1" 
    UpdateMode="Conditional"> 
    <ContentTemplate> 
    <asp:TextBox ID="tbTravelers" 
     Class="textwidth" runat="server" TextMode="MultiLine" 
     placeholder="FName LName, FName LName" required="required"> 
    </asp:TextBox> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger 
     ControlID="cbRUTraveler" EventName="CheckedChanged" /> 
    </Triggers> 
</asp:UpdatePanel> 

C#: 

protected void cbRUTraveler_CheckedChanged1(object sender, EventArgs e) 
{ 
    tbTravelers.Text = 
    RequesterBPL.RequesterTraveling(cbRUTraveler.Checked, tbTravelers.Text); 
    going = cbRUTraveler.Checked; 
} 

나는 또한 같은 페이지 ... 하나 updatepanel에서 드롭 다운 목록과 다른 updatepanel에 라벨이 다른 updatepanels 있습니다. 사용자가 드롭 다운 목록에서 값을 선택하면 레이블에 이름 배치를 트리거한다고 가정합니다.

HTML :

<td> 
    <asp:UpdatePanel ID="upManager" runat="server" 
     ondatabinding="ddlTeam_SelectedIndexChanged" 
     UpdateMode="Conditional"> 
      <Triggers> 
       <asp:AsyncPostBackTrigger ControlID="ddlTeam" 
       EventName="SelectedIndexChanged" />           
      </Triggers> 
      <ContentTemplate> 
       <asp:Label ID="lblManager" runat="server" > </asp:Label>          
      </ContentTemplate>         
    </asp:UpdatePanel>        
</td> 

C 번호 : 사용자가 드롭 다운에서 선택을하게

그러나
protected void ddlTeam_SelectedIndexChanged(object sender, EventArgs e) 
{ 
    //upManager.Update(); 
    lblManager.Text = 
    ManagerBPL.ReturnManagerName(ddlTeam.SelectedIndex); 
}  

는, 아무 일도 발생하지 않습니다. 레이블 및 드롭 다운과 관련이없는 확인란을 사용자가 확인할 때까지 사용자가 확인란을 선택하거나 선택 취소하면 레이블에 드롭 다운의 선택 항목이 채워집니다.

모든 컨트롤은 구조에 대한 테이블에 있습니다. 나는 scriptmanager를 제자리에 가지고있다.

내가 인터넷에서 읽었던 것에서 이것은 아마도 버그 일 것입니다 ... 만약에 버그가 없으면 누군가 내가 잘못 될지도 모른다고 봅니다 ...?

감사합니다.

+0

이 지저분한 서식의 나머지 부분을 고치십시오. 첫 번째 부분을 수정했습니다. 편집기에서 코드를 붙여 넣은 것과 같은 방식으로 깨졌을 때 서식이 엉망인 것을 읽는 것이 정말 어렵습니다. – MethodMan

+0

나는 이해합니다. 그것을 올바르게 포맷하려고했지만 뭔가를 놓쳤을 것입니다. 더 이상 편집 할 수 없습니다 ... 감사합니다 – user1568844

+0

실제로 코드를 통해 계단을 밟았습니까? 실제 코드 행과 관련있는 게시물 코드 만 실제로는 더 유익합니다. 예상되는 결과를 보지 못했습니다. 드롭 다운에서 어떤 일이 일어날 것으로 예상하는 경우에도 ...'AutoPostBack' 속성이 true로 설정되어 있는지 확인하십시오. – MethodMan

답변

1

솔직히 모든 클라이언트 측에서이 작업을 수행 할 수 있습니다. 간단한 예 :

$(function() { 
    $('#<%= drpContent.ClientID %>').blur(function() { 
      var content = $('#<%= drpContent.ClientID %> option:selected').val(); 
      $('#lblContent').text(content); 
    }  
}); 

나는 value과 함께 초기 예제를 제공했습니다. 두 번째 예제는 text 표현을 사용합니다.

$(function() { 
    $('#<%= drpContent.ClientID %>').blur(function() { 
      var content = $('#<%= drpContent.ClientID %> option:selected').text(); 
      $('#lblContent').text(content); 
    }  
}); 

예제는 Fiddle입니다. 이 예제는 간단하지만 업데이트 패널을 다루는 것이 훨씬 쉽습니다. 그 특별한 통제는 다루기 힘든 악몽 일 수 있습니다. 그것은 꽤 고통 스러울 수 있습니다. 서버 문제에 대해 질문했지만이 옵션은 더 실용적이며 일반적입니다.

업데이트 패널 (단점) :

  • 는 클라이언트/서버 사이드 이벤트 사이 pandomonium를 작성합니다. 메모리에 전체 페이지, 다음 재현
  • 저장 (성능 중공업)
  • 는 종종 Asp.Net 페이지 수명주기 빠르게 페이지 스테이트 나누기.

잘하면이 도움이됩니다.

+0

Team 드롭 다운과 관리자 레이블로 문제를 파악했습니다. .. 오히려 내가 말하게한다. .. 나는 단지 그것이 일하게했다. AutoPostBack = "true"를 "lblManager"레이블 (lblManagers가 아님)에 두었습니다. tbTravelers는 사용자가 체크 박스를 체크했을 때 자동 멈춤 기능을 가지고 있지 않습니다. 그러나 lblManager는 누군가가 팀 ddl을 사용할 때 autopostback을 필요로했습니다 ... 나는이 것을 1 분 동안 씹어 야 할 것입니다 ... 나는 그것이 작동하도록해야했습니다 .... 내 주말 내내 엉망이었습니다. – user1568844