2011-08-29 156 views
0
<table id="UsersGrid"></table> 

<script type="text/javascript"> 
    $(document).ready(function() { 
     $('#UsersGrid').jqGrid({ 
      colNames: ['Online', 'Computer', 'IP', 'User'], 
      colModel: [ 
       { name: 'IsOnline', width: 100, index: 'IsOnline', searchoptions: { sopt: ['eq', 'ne']} }, 
       { name: 'Name', index: 'Name', searchoptions: { sopt: ['eq', 'ne', 'cn']} }, 
       { name: 'IP', index: 'IP', searchoptions: { sopt: ['eq', 'ne', 'cn']} }, 
       { name: 'User', index: 'User', searchoptions: { sopt: ['eq', 'ne', 'cn']} } 
       ], 
      height: 250, 
      datatype: getDataType 
     }); 
    }); 

    function getDataType() { 
     var grid = $("#UsersGrid"); 

     $.ajax({ 
      type: "POST", 
      contentType: "application/json; charset=utf-8", 
      url: "/GridTest/GridTestService.asmx/GetData", 
      data: jqGridSettings(grid), 
      dataType: "json", 
      success: function (response) { 
       jqGridDataReceived(response.d, grid); 
      } 
     }); 
    } 

    function jqGridSettings(grid) { 
     return "{}"; 

     var settings = { 

     }; 

     return JSON.stringify(settings); 
    } 

    function jqGridDataReceived(json, grid) { 
     var rows = JSON.parse(json).rows; 

     grid.clearGridData(); 
     for (var i = 0; i < rows.length; i++) { 
      grid.addRowData(i + 1, rows[i]); 
     } 
    } 
</script> 

我想将原始搜索参数传递给服务器端,如何使用javascript检索它们?ASP.NET中的jqGrid WebForms

也就是说,我在哪里可以得到电网的postData

回答

1

在我看来,你试图解决的问题的起源是你使用的datatype: getDataType参数。您可以使用旧版jqGrid版本中的一些非常旧的代码示例。请看here,举例说明如何使用datatype: 'json'和其他ajaxGridOptionsserializeGridData参数来调用ASMX Web服务。

如果你想用“复古风格”与datatype作为一个功能,您可以使用postData参数,定义为getDataTypefunction getDataType(postdata) {...。参数postdata包含您需要的所有信息。