2017-10-10 4 views
0

mvc 응용 프로그램에서 사용자가 검색을 수행 한 다음 세션에 결과를 저장 한 다음 내 페이지 매김이 제대로 작동하는 웹 그리드에 표시됩니다.mvc의 모달에 페이지 매김 구현

문제는 내 사전 검색입니다. 모달을 통해 구현 했으므로 페이지 매김이 작동하지 않습니다. 다른 페이지로 이동하려고 할 때마다 아무 것도 표시되지 않습니다.

이것은 내가 지금 가지고있는 것입니다.

컨트롤러

ActionResult Index(filter) 

{ 

    //Retrieve data from regular search 

    //Store in a session 

    //return session 

} 

ActionResult GetRegularGrid() 

{ 

    //retrieve regular search session 

    //return same session 

} 

ActionResult AdvanceSearch(filter) 

{ 

    //Retrieve data from advance search 

    //store in a session 

    //return advance search session to partial view 

} 

인덱스보기

<script>    
       $(function() {      
        GetRegularGrid();     
       }); 

       function GetRegularGrid() { 
        console.log(); 
        $.ajax({ 
         type: 'POST', 
         url: 'SearchController/GetRegularGrid', 
         success: function (response) { 
          $("#DataList").show(); 
          $("#DataList").html(response); 
          $('#ASGrid').hide(); 
         }, 
         cache: false, 
         error: function (error) { 
          console.log(error); 
         } 
        }); 
<a href="#" style="font-weight: bold" class="btn" data-toggle="modal" data-target="#AdvSearch">Advance Search</a> 

<br /> 
      <div class="modal fade" id="AdvSearch"> 
       <div class="modal-dialog"> 
        <div class="modal-content"> 
         <div class="modal-header"> 
          <a href="#" class="close" data-dismiss="modal">&times;</a> 
         <p style="font-weight: bold" class="modal-title">Advance Search</p> 
         </div> 
         <div class="modal-body"> 
          <form id="AdvanceSearchForm"> 
           @Html.Partial("AdvSearchForm") 
          </form> 
         </div> 
        <div class="modal-footer"> 
         <table> 
          <tr> 
            <td><p align="left">% accepts wildcard</p></td> 
           <td width="320px"></td> 
           <td><input type="button" value="Search" class="btn btn-primary" id="ASearchbtn" /></td> 
          </tr> 
         </table> 
        </div> 
       </div> 
      </div> 
     </div> 

     <div id="ASGrid"> 

     </div> 

     <script> 
      $(document).ready(function() { 
       $("#ASearchbtn").click(function() { 

        var form = $('#AdvanceSearchForm'); 
        var ASData = $('#AdvanceSearchForm').serialize(); 
        $.validator.unobtrusive.parse(form); 
        form.validate(); 

        if (form.valid()) { 
         $("#ErrMsg").text(""); 
         $.ajax({ 
          type: "POST", 
          url: "/SearchController/AdvanceSearch", 
          data: ASData, 
          datatype: "html", 
          cache: false, 
          success: function (response) { 
           $("#AdvSearch").modal("hide"); 
           $('#ASGrid').html(''); 
           $('#ASGrid').html(response); 
           $('#ASGrid').show(); 
           $("#DataList").hide(); 
           $('.modal-backdrop').remove(); 
           $('#noresult').hide();          
          }, 
          error: function (error) { 
           $("#ErrMsg").text("Invalid search - Atleast one field is required."); 
           console.log(error); 
          } 
         }); 
        } 

        $(document).ajaxComplete(function() {       
         $('tbody tr').hover(function() { 
          $(this).toggleClass('clickable'); 
         }).on('dblclick', function() { 
          var sid = $(this).find('td:eq(0)').text(); 
          $("#subId").val(sid); 
         }) 

         return false; 
        }); 

        return false; 
       });      
      }); 
     </script> 

답변

0

나는이 문제를 해결하기 위해 GET을 POST를 변경하고 지금

<script> 
     $(document).ready(function() { 
      $("#ASearchbtn").click(function() { 

       var form = $('#AdvanceSearchForm'); 
       var ASData = $('#AdvanceSearchForm').serialize(); 
       $.validator.unobtrusive.parse(form); 
       form.validate(); 

       if (form.valid()) { 
        $("#ErrMsg").text(""); 
        $.ajax({ 
         type: "GET", 
         url: "/SearchController/AdvanceSearch", 
         data: ASData, 
         datatype: "html", 
         cache: false, 
         success: function (response) { 
          $("#AdvSearch").modal("hide"); 
          $('#ASGrid').html(''); 
          $('#ASGrid').html(response); 
          $('#ASGrid').show(); 
          $("#DataList").hide(); 
          $('.modal-backdrop').remove(); 
          $('#noresult').hide();          
         }, 
         error: function (error) { 
          $("#ErrMsg").text("Invalid search - Atleast one field is required."); 
          console.log(error); 
         } 
        }); 
       } 

       $(document).ajaxComplete(function() {       
        $('tbody tr').hover(function() { 
         $(this).toggleClass('clickable'); 
        }).on('dblclick', function() { 
         var sid = $(this).find('td:eq(0)').text(); 
         $("#subId").val(sid); 
        }) 

        return false; 
       }); 

       return false; 
      });      
     }); 
    </script> 
를 작동