2011-08-29 86 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包含您需要的所有信息。