2012-10-04 6 views
1

문제는 여기에 마스터 페이지 내 다른 페이지에서 다른 사용자 정의 컨트롤에서 호출되는 사용자 컨트롤 내에 모달 팝업 확장자가 있습니다. 페이지 dinamically 첫 번째 사용자 정의 컨트롤을로드하고 모달 대화 상자를 표시 할 때 사용자 컨트롤을 dinamically 자리 표시 자에로드하고 모달 팝업 사용자 컨트롤이로드 될 때 모달의 show 메서드를 호출하십시오.모달 팝업 안에 OK 단추의 이벤트 처리기가 실행되지 않습니다.

모달 안에 일부 텍스트 상자와 단추가있어 일부 데이터를 데이터베이스에 저장합니다.

문제는 Buton onClick 이벤트가 전혀 실행되지 않는다는 것입니다. Modal Control의 Onload 이벤트에 중단 점을 추가하려고 시도했지만 상위 사용자 컨트롤 (Modal PopUp을 보유하고있는 이벤트)의로드 이벤트에 다른 중단 점을 배치하면 이상하게도 그 곳으로 들어 가지 않습니다. 중단 점은 상위 사용자 정의 컨트롤의 OnLoad 이벤트에서 올바르게 중지되지 않습니다. 이벤트 처리기를 사용해야합니다. 왜냐하면 거기에 저장 프로 시저를 호출하여 데이터를 DB에 저장하기 때문입니다.

modalpopup 창을 닫고 싶지 않습니다. 일부 텍스트 상자의 유효성을 검사 한 다음 일부 데이터를 데이터베이스에 저장하고 싶습니다. 그 이유는 단추의 이벤트 처리기를 사용해야하기 때문입니다. 지원 여기

+2

사람들이 당신이 다루는 것을 볼 수 있도록 질문에 코드를 추가 할 수 있습니까? – HaemEternal

답변

0

에 대한

Thaks 내가 모달 대화 상자를 필요로 응용 프로그램에서 사용하는 기능입니다. 그것은 그들이 이벤트가 해고 보장 그래서 버튼은 실제로 jQuery 코드에 의해 생성됩니다

$(function() { 
      $(".addNew").dialog({ 
       autoOpen: false, 
       width: 300, 
       height: 300, 
       modal: true, 
       close: function (event, ui) { 
      }, 
      buttons: 
        { 
         "Exclude Week": function() { 

          var cReason = $('#<%= ddlReasonCode.ClientID %> option:selected').text(); 
          var Week = $('#<%= lblWeekChange.ClientID %>').text(); 

          $.ajax(
            { 
             type: "POST", 
             url: "Ajax/ExcludeWeek.aspx", 
             data: "week=" + Week + "&reasonCode=" + cReason, 
             success: function (msg) { 
              $('#resultDiv').text('Added to List'); 

             }, 
             error: function (x, e) { 
              alert("The call to the server side failed. " + x.responseText); 
             } 
            } 
           ); 
            $(this).dialog("close"); 
         }, 
         "Cancel": function() { 
          $(this).dialog("close"); 
         } 
        } 
     }); 


    }); 

//이 대화 상자를 실행하는 데 사용되는 코드입니다 :

$(".addNew").dialog("open"); 
0

이 주어진 시나리오에 늦게 아마 ,하지만 내 프로젝트에서 AjaxControlToolikit 버전을 업그레이드 한 후에도 동일한 문제가 발생했습니다.

문제는 ModalPopupExtender 속성입니다. OkControlID : 최신 버전의 툴킷 서버 쪽 클릭 버튼 처리기가 실행되지 않고 대신 OnOkScript 클라이언트 측 코드가 실행됩니다.

필자의 경우 오래된 동작을 복원하려면 모달 팝업 확장기 선언 태그에서 OkControlID 속성을 제거해야했습니다.

희망이 있습니다.