2011-08-03 2 views
2

ASP.NET 4.0을 사용하고 있습니다. 2 DropDownList, CascadingDropDown (Ajax Control Toolkit 제공) 및 UpdatePanel이 같은 페이지에 있습니다.업데이트 패널과 동일한 aspx 페이지에서 계단식 드롭 다운 사용

드롭 다운 업데이트 패널 내에 있지, 그 기능이 잘 작동되는가 (한 번에 하나의 옵션이 DropDownList에서 선택하면 CascadingDropDown는 일을하고 두 번째 DropDownList을 업데이트).

업데이트 패널에는 버튼과 텍스트 상자 만 있습니다. 버튼을 클릭하면 텍스트 상자에 텍스트를 설정하기위한 이벤트 핸들러가 제자리에 있습니다.

드롭 다운이있는 코드 부분이 주석 처리 될 때 업데이트 패널이 제대로 작동하지만 드롭 다운의 주석 처리가 제거되면 더 이상 버튼을 클릭해도 텍스트 상자가 새로 고쳐지지 않고 포스트 백이 발생하지 않습니다.

영문 페이지 :

<asp:ScriptManager ID="scriptManager" runat="server"> 
</asp:ScriptManager> 

<div> 
    <label for="<%= ddOne.ClientID %>" >DD one</label> 
    <asp:DropDownList ID="ddOne" runat="server"> 
     <asp:ListItem Text="" Value="-1" /> 
     <asp:ListItem Text="Option one" Value="1" /> 
     <asp:ListItem Text="Option two" Value="2" /> 
     <asp:ListItem Text="Option three" Value="3" /> 
    </asp:DropDownList> 
</div> 

<ajaxToolkit:CascadingDropDown 
     ID="ccdOne" 
     runat="server" 
     ParentControlID="ddOne" 
     TargetControlID="ddTwo" 
     Category="Category" 

     ServicePath="SomeWebService.asmx" 
     ServiceMethod="SomeWebMethod" 
     EmptyText="None available" 
     EmptyValue="-1" 
     LoadingText="Loading..." /> 

<div> 
    <label for="<%= ddTwo.ClientID %>">DD two</label> 
    <asp:DropDownList ID="ddTwo" runat="server"> 
    </asp:DropDownList> 
</div> 

<asp:UpdatePanel runat="server" ID="upPanelOne"> 

    <ContentTemplate> 

     <asp:Button ID="aButton" runat="server" Text="Click me" onclick="aButton_Click" /> 
     <asp:TextBox ID="txtOne" runat="server" /> 

    </ContentTemplate> 


</asp:UpdatePanel> 

뒤에 코드 :

protected void aButton_Click(object sender, EventArgs e) 
    { 
     txtOne.Text = "Hello world"; 
    } 

어떤 아이디어가?

참고 : 드롭 다운 계단식으로

DropDownList의 미세 자신의 작품에

UpdatePanel 작동 잘

DropDownList의 업데이트 패널과 동일한 페이지에 사용

아니라에서 업데이트 패널, 업데이트 패널이 작동을 멈 춥니 다? 당신의 updatepanel

<Triggers> 
      <asp:AsyncPostBackTrigger ControlID="aButton" EventName="Click"/
     </Triggers> 

에 태그 다음

+0

오류의 원인을 발견했습니다. 이 질문에 대한 답변으로 조사 결과를 게시하고 답변으로 수락하십시오. 이렇게하면 다른 사람들도 같은 문제를 겪을 수 있습니다. – rcdmk

답변

0

추가 그래서 그 결과는 아래와 같습니다 : 저도 같은 문제가 있었다

<asp:UpdatePanel runat="server" ID="upPanelOne"> 
     <Triggers> 
      <asp:AsyncPostBackTrigger ControlID="aButton" EventName="Click"/
     </Triggers> 
     <ContentTemplate> 
      <asp:Button ID="aButton" runat="server" Text="Click me" onclick="aButton_Click" /> 
      <asp:TextBox ID="txtOne" runat="server" /> 
     </ContentTemplate> 
    </asp:UpdatePanel> 
+0

버튼이 업데이트 패널 내의 자식 컨트롤이므로 명시 적으로 트리거를 추가 할 필요가 없다고 생각했지만 ... 어떤 방식 으로든 시도해 보았습니다. 이전과 마찬가지로 DropDownList에 대한 코드가 주석 처리 될 때 작동합니다 하지만 그 코드가 작동하지 않는다면 : ( – Ben

+0

알았어. 문제가 무엇인지 알았어. 분명히 포스트 백에서 자바 스크립트를 통해 서버 컨트롤 드롭 다운 목록에 요소를 추가하면 예외가 발생하여 이벤트 유효성 검사 또는 일부 그런 메시지를 끄려면. 내가 오류 메시지를 보지 못하게하기 위해 업데이트 패널을 사용했기 때문에 아무 일도 없었던 것 같았습니다. 참조 : http://odetocode.com/blogs/scott/archive/2006 /03/20/asp-net-event-validation-and-invalid-callback-or-postback-argument.aspx 공유를위한 – Ben

+0

감사합니다 .... – Waqas

0

,하지만 난 EnableEventValidation="false"을 설정 알려주는 벤의 의견을 따라 내 문제를 해결하고 이제는 잘 작동합니다.

관련 문제