2012-02-09 5 views
1

.net framework 4.0과 함께 asp.net 웹 폼에서 updatepanel을 사용하고 있습니다. 그 사이에, jquery 폼 유효성 검사를 구현했습니다. 폼 유효성 검사와 잘 작동하지만 업데이트 패널에서 발생하는 문제는 부분 포스트 백이 아니라 전체 포스트 백을 수행 할 수 없습니다. 답장을 보내 주시면 감사하겠습니다.jQuery 폼 유효성 검사 및 업데이트 패널

나는 이런 식으로 양식을 확인하고 업데이트 패널 초기화 요청을 할 때 이미지를 보여줍니다.

<script type="text/javascript"> 
    $(document).ready(function() { 
     $(".logForm").validate(); 
     $('#main_UpdatePanelAccount').initializeRequest(function (options) { 
      $("#flashAcc").show(); 
      $("#flashAcc").fadeIn(400).html('<img src="/image/load.gif" align="absmiddle">'); 
     }); 
    }); 
</script> 

이 후, I는 게시 여부를 판정하기 위해 2 개 코드 블록 (주석과 주석과 다른 하나)을 가지고있다. 그러나이 2 블록의 코드는 완전히 포스트 백하는 업데이트 패널로 끝납니다.

<script type="text/javascript"> 
    Sys.WebForms.PageRequestManager.getInstance().add_initializeRequest(instance_initializeRequest); 
    function instance_initializeRequest(sender, args) { 
     if (!Validator()) { 
      args.set_cancel(true); 
     } 
    } 

// $(function() { 
//  Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler); 
//  //Re-initialize jquery after an auto post back. 
//  function EndRequestHandler(sender, args) { 
//   //Do work after update panel fires. 
//   var prm = Sys.WebForms.PageRequestManager.getInstance(); 
//   if (!Validate()) { 
//    prm.abortPostBack(); 
//    args.set_cancel(true); 
//   } 
//   else { 
//    prm.add_beginRequest(); 
//    args.set_cancel(false); 
//   } 
//  } 
// }); 
</script> 

답변

2

첫 번째로 코드가 updatepanel 안에 있으면 포스트 백에서 삭제됩니다. 당신의 질문과 관련이 없지만 단지 부수적 인 말입니다. 둘째로 updatepanel을 updatemode = "conditional"로 설정하지 않으면 다른 업데이트 패널의 모든 내용도 업데이트됩니다. 전체 페이지 새로 고침이 계속 발생하는 경우 대신 다음과 같이 해보겠습니다.

<script type="text/javascript"> 
<!-- 
    function Post() { 
     __doPostBack('<%= UpdatePanel1.ClientID %>', ''); 
    } 
--> 
</script> 
+0

현재 올바른 모드의 코드 블록은 업데이트 패널 외부에 있습니다. :) –