2012-09-23 2 views
1

Jquery Mobile을 사용하여 대화 상자를 여는 중입니다. 문제는 btnSend_Click 이벤트가 발생하지 않는 것입니다. 업데이트 패널에 버튼과 텍스트 상자를 유지하면서 서버 사이드의 코드를 망가 뜨린 후 다시 게시하고 대화 상자를 닫으려고합니다.jquery 모바일 대화 상자에서 버튼 클릭 이벤트가 발생하지 않습니다.

Sample here

상위 페이지 버튼 HTML

<a href="/Kiosk/RetrieveTickets/RetrieveTicketsBySms.aspx" data-role="button" data-inline="true" data-theme="c" class="MyBigButton" 
         data-inline="true" data-rel="dialog" data-transition="pop">Via SMS 
         <br /> 
         <br /> 
         <img src="/Kiosk/images/mobile.png" /> 
        </a> 

대화 페이지 HTML이

<div id="dlgSms" data-role="dialog" data-theme="b"> 
     <div data-role="header" data-theme="d"> 
      <h1> 
       Retrieve Tickets By SMS</h1> 
     </div> 
     <div data-role="content" data-theme="c"> 
      <asp:UpdatePanel ID="UpdatePanel1" runat="server"> 
       <ContentTemplate> 
        <p> 
         Please type here your mobile number. You will get your ticket on your mobile via 
         SMS.</p> 
        <asp:TextBox runat="server" ID="txtMobileNumber" placeholder="Enter Mobile Number" /> 
        <asp:Button ID="btnSend" Text="Send SMS Now" runat="server" data-theme="b" OnClick="btnSend_Click" /> 
       </ContentTemplate> 
      </asp:UpdatePanel> 
      <a href="#" data-role="button" data-rel="back" data-theme="c">Cancel</a> 
     </div> 
    </div> 

답변

1

내가 여기 당신에게 주요 문제를 설명합니다.

당신이 대화 상자를 열고 "SMS를 통해"버튼을 클릭하고 스크립트가로드 한 개의 다른의 영문 페이지입니다

RetrieveTicketsBySms.aspx은 이전의 DOM에에게 그것을 렌더링합니다. 버튼과 업데이트 패널, 그리고 RetrieveTicketsBySms.aspx의 스크립트는 이제 역사입니다.

그래서 버튼은 불이 붙지 만 RetrieveTicketsOptions.aspx 페이지를 호출합니다. 즉, 해시 유효성 검사도 실패하므로 해고되지 않습니다. 당신은 또한 업데이트 패널 안에 있습니다. 그래서 볼 수있는 것은 포스트를 만들지 않습니다.

여기 가능한 해결책은 가능하다면 RetrieveTicketsBySms.aspx을 iframe 안에로드하는 대화 상자의 내용을 배치하는 것입니다. UpdatePanel을 제거하십시오.

관련 문제