这些天一直在研究Jquery,发现里面的GRID控件真的很好很强大。于是乎想在项目中应用flexigrid.
在网上搜索了一下,有如下示例参考一 数据源以XML返回的
参考二 采用MVC模式的
目前我的项目是用dataset得到的数据,就是说,按参考一中的方法,建立了一个Web Service ,然后把dataset转为json(而不是XML返回),但是这一步就无法成功,肯请各位大大出手帮忙!

解决方案 »

  1.   

    public static string GetJsonByDataset(DataSet ds)
            {
                if (ds == null || ds.Tables.Count <= 0 || ds.Tables[0].Rows.Count <= 0)
                {
                    //如果查询到的数据为空则返回标记ok:false
                    return "{\"ok\":false}";
                }
                StringBuilder sb = new StringBuilder();
                sb.Append("{\"ok\":true,");
                foreach (DataTable dt in ds.Tables)
                {
                    sb.Append(string.Format("\"{0}\":[",dt.TableName));                foreach (DataRow dr in dt.Rows)
                    {
                        sb.Append("{");
                        for (int i = 0; i < dr.Table.Columns.Count; i++)
                        {
                            sb.AppendFormat("\"{0}\":\"{1}\",", dr.Table.Columns[i].ColumnName.Replace("\"", "\\\"").Replace("\'", "\\\'"), FieldTypeFilter.ObjToStr(dr[i]).Replace("\"", "\\\"").Replace("\'", "\\\'"));
                        }
                        sb.Remove(sb.ToString().LastIndexOf(','), 1);
                        sb.Append("},");
                    }                sb.Remove(sb.ToString().LastIndexOf(','), 1);
                    sb.Append("],");
                }
                sb.Remove(sb.ToString().LastIndexOf(','), 1);
                sb.Append("}");
                return sb.ToString();
            }
      

  2.   

    LZ 可以用Newtonsoft.Json.Net20.dll这个插件直接转换为json格式
    引入
    using Newtonsoft.Json;
    using Newtonsoft.Json.Converters;
    用下面的方式string jsonString= JsonConvert.SerializeObject(dataset[0], new IsoDateTimeConverter());
      

  3.   

    http://blog.csdn.net/leisure55/archive/2009/11/12/4803312.aspx
      

  4.   

    各位大大,我说错了,我用的是LIST 然后JsonSerializer.ToJson(LIST)但是怎么总出错呢,,,,前台就是显示不了
      

  5.   


    "[{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"北京稻香湖大酒店\",\"pro_cat\":null,\"pro_consigner\":\"北京稻香湖大酒店\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":17,\"pro_industry\":null,\"pro_invest\":\"4亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"稻香湖\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"自行车击剑运动管理中心\",\"pro_cat\":null,\"pro_consigner\":\"奥组委\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":18,\"pro_industry\":null,\"pro_invest\":\"8亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"自行车馆全过程跟踪审计\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\
    "pro_addr\":null,\"pro_builder\":\"北京电视台\",\"pro_cat\":null,\"pro_consigner\":\"北京电视台\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":19,\"pro_industry\":null,\"pro_invest\":\"22亿(不含设备)\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"北京电视中心\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"中国储备粮管理总公司山西分公司\",\"pro_cat\":null,\"pro_consigner\":\"中国储备粮管理总公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":20,\"pro_industry\":null,\"pro_invest\":\"3.2亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"中国储备粮管理总公司山西分公司专项审计合同\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"p
    ro_addr\":null,\"pro_builder\":\"中国储备粮管理总公司山西分公司\",\"pro_cat\":null,\"pro_consigner\":\"中国储备粮管理总公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":21,\"pro_industry\":null,\"pro_invest\":\"3.2亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"中国储备粮管理总公司山西分公司专项审计合同\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"同仁堂\",\"pro_cat\":null,\"pro_consigner\":\"同仁堂\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":22,\"pro_industry\":null,\"pro_invest\":\"8亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"同仁堂亦庄厂房项目结算审核\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_add
    r\":null,\"pro_builder\":\"中电投蒙东电力有限公司\",\"pro_cat\":null,\"pro_consigner\":\"中国电力投资(集团)有限公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":23,\"pro_industry\":null,\"pro_invest\":\"46亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"大板电厂全过程跟踪审计\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"云南元双公路指挥部\",\"pro_cat\":null,\"pro_consigner\":\"云南省交通建设厅\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":24,\"pro_industry\":null,\"pro_invest\":\"36亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"云南元双公路\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"p
    ro_builder\":\"单位建设\",\"pro_cat\":null,\"pro_consigner\":\"测试项目单位\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":25,\"pro_industry\":null,\"pro_invest\":\"300大赦令\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"测试项目一啊\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null}]"得到这个,怎么就显示不了尼
      

  6.   


    "[{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"北京稻香湖大酒店\",\"pro_cat\":null,\"pro_consigner\":\"北京稻香湖大酒店\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":17,\"pro_industry\":null,\"pro_invest\":\"4亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"稻香湖\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"自行车击剑运动管理中心\",\"pro_cat\":null,\"pro_consigner\":\"奥组委\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":18,\"pro_industry\":null,\"pro_invest\":\"8亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"自行车馆全过程跟踪审计\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\
    "pro_addr\":null,\"pro_builder\":\"北京电视台\",\"pro_cat\":null,\"pro_consigner\":\"北京电视台\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":19,\"pro_industry\":null,\"pro_invest\":\"22亿(不含设备)\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"北京电视中心\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"中国储备粮管理总公司山西分公司\",\"pro_cat\":null,\"pro_consigner\":\"中国储备粮管理总公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":20,\"pro_industry\":null,\"pro_invest\":\"3.2亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"中国储备粮管理总公司山西分公司专项审计合同\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"p
    ro_addr\":null,\"pro_builder\":\"中国储备粮管理总公司山西分公司\",\"pro_cat\":null,\"pro_consigner\":\"中国储备粮管理总公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":21,\"pro_industry\":null,\"pro_invest\":\"3.2亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"中国储备粮管理总公司山西分公司专项审计合同\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"同仁堂\",\"pro_cat\":null,\"pro_consigner\":\"同仁堂\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":22,\"pro_industry\":null,\"pro_invest\":\"8亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"同仁堂亦庄厂房项目结算审核\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_add
    r\":null,\"pro_builder\":\"中电投蒙东电力有限公司\",\"pro_cat\":null,\"pro_consigner\":\"中国电力投资(集团)有限公司\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":23,\"pro_industry\":null,\"pro_invest\":\"46亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"大板电厂全过程跟踪审计\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"pro_builder\":\"云南元双公路指挥部\",\"pro_cat\":null,\"pro_consigner\":\"云南省交通建设厅\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":24,\"pro_industry\":null,\"pro_invest\":\"36亿\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"云南元双公路\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null},{\"con_id\":0,\"pa_id\":0,\"pro_addr\":null,\"p
    ro_builder\":\"单位建设\",\"pro_cat\":null,\"pro_consigner\":\"测试项目单位\",\"pro_content\":null,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":null,\"pro_file\":null,\"pro_id\":25,\"pro_industry\":null,\"pro_invest\":\"300大赦令\",\"pro_key\":null,\"pro_mbasic\":null,\"pro_name\":\"测试项目一啊\",\"pro_no\":null,\"pro_others\":null,\"pro_plan\":null,\"pro_process\":null,\"pro_request\":null,\"pro_source\":null,\"pro_status\":0,\"pro_type\":null}]"
    可以生成这个JSON,哪里有错呢??
      

  7.   

    <table id="fgrdProduct" style="display:none;"></table>
            <script type="text/javascript">
                $(document).ready(new function () {                $("#fgrdProduct").flexigrid
                    (
                    {
                        url: 'JSON/ProList.asmx/GetProList',
                        dataType: 'json',
                        colModel: [
                    { display: 'Id', name: 'pro_id', width: 20, sortable: true, align: 'left' },
                    { display: 'Name', name: 'pro_name', width: 180, sortable: true, align: 'left' },
                    { display: 'Consigner', name: 'pro_consigner', width: 180, sortable: true, align: 'left' },
                    { display: 'Builder', name: 'pro_builder', width: 120, sortable: true, align: 'left' },
                    { display: 'Invest', name: 'pro_invest', width: 130, sortable: true, align: 'left', hide: false },
                    { display: 'Date', name: 'pro_date', width: 80, sortable: true, align: 'left' }
                    ],
                        searchitems: [
                    { display: 'Name', name: 'pro_name' },
                    { display: 'Consigner', name: 'pro_consigner' },
                    { display: 'Builder', name: 'pro_builder' },
                    { display: 'Invest', name: 'pro_invest' },
                    { display: 'Date', name: 'pro_date' },
                    { display: 'Id', name: 'pro_id', isdefault: true }
                    ],
                        sortname: "pro_id",
                        sortorder: "asc",
                        usepager: true,
                        title: '项目列表',
                        useRp: true,
                        rp: 10,
                        showTableToggleBtn: true,
                        width: 805,
                        onSubmit: addFormData,
                        height: 200
                    }
                    );                //This function adds paramaters to the post of flexigrid. You can add a verification as well can 
                    //return false if you don't want flexigrid to submit
                    function addFormData() {                    //passing a form object to serializeArray will get the valid data from all the objects, but, if you pass a non-form object,
                        //you have to specify the input elements that the data will come from
                        var dt = $('#sform').serializeArray();
                        $("#fgrdProduct").flexOptions({ params: dt });
                        return true;
                    }                $('#sform').submit
                (
                    function () {
                        $('#fgrdProduct').flexOptions({ newp: 1 }).flexReload();
                        return false;
                    }
                    );            });         </script>
      

  8.   

    "[{\"con_id\":0,\"pa_id\":0,\"pro_addr\":0,\"pro_builder\":\"北京稻香湖大酒店\",\"pro_cat\":0,\"pro_consigner\":\"北京稻香湖大酒店\",\"pro_content\":0,\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_dates\":0,\"pro_file\":0,\"pro_id\":17,\"pro_industry\":0,\"pro_invest\":\"4亿\",\"pro_key\":0,\"pro_mbasic\":0,\"pro_name\":\"稻香湖\",\"pro_no\":0,\"pro_others\":0,\"pro_plan\":0,\"pro_process\":0,\"pro_request\":0,\"pro_source\":0,\"pro_status\":0,\"pro_type\":0}]"
      

  9.   

    "[{\"pro_builder\":\"北京稻香湖大酒店\",\"pro_consigner\":\"北京稻香湖大酒店\",\"pro_date\":\"\\/Date(1260720000000+0800)\\/\",\"pro_id\":17,\"pro_invest\":\"4亿\",\"pro_name\":\"稻香湖\"}]"
      

  10.   

    别的还看不出来,第一句肯定有问题,多了个new
      $(document).ready(new function () {
      

  11.   

    前端eval 看看是不是出错了。再看下你输出的是否有 单引号 双引号之类的特殊字符啊
      

  12.   


    嗯,被它迷惑了一下,这种写法虽然古怪,不过却也是可以跑得通的。根本的问题是你返回的数据格式不对,flexigrid要求的格式:{
      page: 1,      // 页号,从1开始
      total: 15,    // 总记录数
      rows: [
        // 'id' 是行的标识 
        //  'cell' 一个数组放每一列的数据
        {id: 3879, cell: ["", "", "", ""]},
      ]
    }
    你现在返回的是一个数组,其中每一项都是一个对象,所以不符合flexigrid的要求
      

  13.   


    {page:1,total:1,rows:[{id:17,cell:[\"17\",\"稻香湖\",\"北京稻香湖大酒店\",\"北京稻香湖大酒店\",\"4亿\"]}]}这样还是不行尼
      

  14.   

    这样可以了啊调试下吧,你打开flexigrid.js, 找到625行:
    success: function(data){g.addData(data);},
    改成
    success: function(data){alert(data); g.addData(data);},看看有没有收到返回
      

  15.   

    把626行:
    error: function(XMLHttpRequest, textStatus, errorThrown) { try { if (p.onError) p.onError(XMLHttpRequest, textStatus, errorThrown); } catch (e) {} }
    这句也改下:
    error: function(XMLHttpRequest, textStatus, errorThrown) { alert(errThrown); try { if (p.onError) p.onError(XMLHttpRequest, textStatus, errorThrown); } catch (e) {} }看下有没有出错信息
      

  16.   

    string strRtn = "{page:1,total:1,rows:[{id:17,cell:[\"17\",\"稻香湖\",\"北京稻香湖大酒店\",\"北京稻香湖大酒店\",\"4亿\"]}]}";
                    return strRtn;上面是返回的数据,下面是前台:
    <table id="fgrdProduct" style="display:none;"></table>
            <script type="text/javascript">
                $(document).ready(function () {                $("#fgrdProduct").flexigrid
                    (
                    {
                        url: 'JSON/ProList.asmx/GetProList',
                        dataType: 'json',
                        colModel: [
                    { display: 'Id', name: 'pro_id', width: 20, sortable: true, align: 'left' },
                    { display: 'Name', name: 'pro_name', width: 180, sortable: true, align: 'left' },
                    { display: 'Consigner', name: 'pro_consigner', width: 180, sortable: true, align: 'left' },
                    { display: 'Builder', name: 'pro_builder', width: 120, sortable: true, align: 'left' },
                    { display: 'Invest', name: 'pro_invest', width: 130, sortable: true, align: 'left', hide: false }                
                    ],
                        searchitems: [
                    { display: 'Name', name: 'pro_name' },
                    { display: 'Consigner', name: 'pro_consigner' },
                    { display: 'Builder', name: 'pro_builder' },
                    { display: 'Invest', name: 'pro_invest' },
                    { display: 'Id', name: 'pro_id', isdefault: true }
                    ],
                        sortname: "id",
                        sortorder: "asc",
                        usepager: true,
                        title: '项目列表',
                        useRp: true,
                        rp: 10,
                        showTableToggleBtn: true,
                        width: 805,
                        onSubmit: addFormData,
                        height: 200
                    }
                    );                //This function adds paramaters to the post of flexigrid. You can add a verification as well can 
                    //return false if you don't want flexigrid to submit
                    function addFormData() {                    //passing a form object to serializeArray will get the valid data from all the objects, but, if you pass a non-form object,
                        //you have to specify the input elements that the data will come from
                        var dt = $('#sform').serializeArray();
                        $("#fgrdProduct").flexOptions({ params: dt });
                        return true;
                    }                $('#sform').submit
                (
                    function () {
                        $('#fgrdProduct').flexOptions({ newp: 1 }).flexReload();
                        return false;
                    }
                    );            });         </script>
      

  17.   

    前台没错的,你贴过了,我这里也能显示问题应该是在后台,贴后台代码看下626行改成:
    error: function(XMLHttpRequest, textStatus, errorThrown) { alert(XMLHttpRequest.responseBody); try { if (p.onError) p.onError(XMLHttpRequest, textStatus, errorThrown); } catch (e) {} }看下什么错
      

  18.   

     public String GetProList()
            {
                int page = 1;
                if (HttpContext.Current.Request.Form["page"] != null)
                {
                    page = int.Parse(HttpContext.Current.Request.Form["page"].ToString());
                }
                int rp = 1;
                if (HttpContext.Current.Request.Form["rp"] != null)
                {
                    rp = int.Parse(HttpContext.Current.Request.Form["rp"].ToString());
                }
                string sortname = "pro_id";
                if (HttpContext.Current.Request.Form["sortname"] != null)
                {
                    sortname = HttpContext.Current.Request.Form["sortname"].ToString();
                }            string whereCondition = "pro_id<20";
                if (HttpContext.Current.Request.Form["qtype"] != null && HttpContext.Current.Request.Form["query"] != null && HttpContext.Current.Request.Form["query"].ToString() != string.Empty)
                {
                    whereCondition = BuildWhereCondition(HttpContext.Current.Request.Form["qtype"].ToString(), HttpContext.Current.Request.Form["query"].ToString());
                }
                string sortorder = "asc";
                if (HttpContext.Current.Request.Form["sortorder"] != null)
                {
                    sortorder = HttpContext.Current.Request.Form["sortorder"].ToString();
                }
                string sortExp = sortname + " " + sortorder;
                int start = ((page - 1) * rp);
                List<Model.project> proList = new List<Model.project>();
                // DataSet ds = new DataSet();
                BLL.project bll = new BLL.project();
                proList = bll.GetJSONList(whereCondition, sortExp, start, rp);           // return TzCommon.JsonSerializer.ToJson(proList);
                // return newDoc;
                string strRtn = "{page:1,total:1,rows:[{id:17,cell:[\"17\",\"稻香湖\",\"北京稻香湖大酒店\",\"北京稻香湖大酒店\",\"4亿\"]}]}";
                return strRtn;        }
      

  19.   

    上面这个过程,放在一个asmx里,按照楼上大大的格式,我自己手写的一个字符串。。
      

  20.   

    研究了半天,好像是flexigrid的一个bugflexigrid
    第624,625行:
    dataType: "xml",
    success: function(data){eval("data="+$(data).text()); g.addData(data); },
      

  21.   

    嗯,应该也算不上flexigrid的bug,其实和ms,jquery都有关系,是他们不能在一起配合工作,这个要说清楚还蛮复杂的。如果要ms webservice返回json格式的结果,就必须在请求头中包含 "Content-Type:application/json", 但是在flexigrid中,调用ajax的时候没有加contentType参数,所以缺省的是"application/x-www-form-urlencoded", 这样webservice就只会返回xml格式的结果。所以44楼的解决方法就是让jquery按照xml格式来解释返回的结果(dataType:"xml"), 在得到xml解析结果后,用$(data.text()从中取出根节点下的所有内容,这个就是返回的json字符串,然后用eval把它当js语句执行一下,赋值给data变量,这样data的内容就变成了想要的最终结果。这个就是我研究下来的结果,楼主可以先试下是否可行
      

  22.   

    那不用web service呢?其他方式?
      

  23.   

    可以,改用wcf吧,webservice老了,应该换成wcf
      

  24.   

    用ashx试试,比webService 方便
      

  25.   

    你url 呼叫的是webService 这个好像错了 url: 'JSON/ProList.asmx/GetProList' 你没看打断点能不能断住 ,把你的WebService改成 用ashx试一试,调用webService的方法 不是url: 'JSON/ProList.asmx/GetProList' 这样写的,如果你用ashx话还不出,那就是 你生成json字符串的类型不对
      

  26.   


    调用webService的方法 不是url: 'JSON/ProList.asmx/GetProList' 这样写的那应该怎么写呢?
      

  27.   

    flexigrid插件在.net下封装及使用 
     http://www.yideal.com/index.php?option=com_content&view=article&id=81:flexigrid-donet&catid=44:donet-trick-articles&Itemid=65
    flexigrid插件json+.net分页操作
     http://www.yideal.com/index.php?option=com_content&view=article&id=82:flexigrid-json-donet-paging&catid=44:donet-trick-articles&Itemid=65这里有两个flexigrid的例子看看能有解决你的问题?