当前位置:编程学习 > C#/ASP.NET >>

为何我的json无法给flexigrid喂数据??

源码aspx文件

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="index.aspx.cs" Inherits="zjyghomesite.index" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>无标题页</title>
<link rel="stylesheet" type="text/css" href="css_grid/flexigrid.css" />
<script type="text/javascript" src="js/jquery-1.2.3.pack.js"></script>
<script type="text/javascript" src="js/flexigrid.js"></script>
<script type="text/javascript">
$(document).ready(function(){

$("#flex1").flexigrid
(
{
url: '/test.aspx',
dataType: 'json',
colModel : [
{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center'},
{display: 'ISO', name : 'iso', width : 40, sortable : true, align: 'center'},
{display: 'Name', name : 'name', width : 180, sortable : true, align: 'left'},
{display: 'Printable Name', name : 'printable_name', width : 120, sortable : true, align: 'left'},
{display: 'ISO3', name : 'iso3', width : 130, sortable : true, align: 'left', hide: true},
{display: 'Number Code', name : 'numcode', width : 80, sortable : true, align: 'right'}
],
buttons : [
{name: 'Add', bclass: 'add', onpress : test},
{name: 'Delete', bclass: 'delete', onpress : test},
{separator: true},
{name: 'A', onpress: sortAlpha},
                {name: 'B', onpress: sortAlpha},
{name: 'C', onpress: sortAlpha},
{name: 'D', onpress: sortAlpha},
{name: 'E', onpress: sortAlpha},
{name: 'F', onpress: sortAlpha},
{name: 'G', onpress: sortAlpha},
{name: 'H', onpress: sortAlpha},
{name: 'I', onpress: sortAlpha},
{name: 'J', onpress: sortAlpha},
{name: 'K', onpress: sortAlpha},
{name: 'L', onpress: sortAlpha},
{name: 'M', onpress: sortAlpha},
{name: 'N', onpress: sortAlpha},
{name: 'O', onpress: sortAlpha},
{name: 'P', onpress: sortAlpha},
{name: 'Q', onpress: sortAlpha},
{name: 'R', onpress: sortAlpha},
{name: 'S', onpress: sortAlpha},
{name: 'T', onpress: sortAlpha},
{name: 'U', onpress: sortAlpha},
{name: 'V', onpress: sortAlpha},
{name: 'W', onpress: sortAlpha},
{name: 'X', onpress: sortAlpha},
{name: 'Y', onpress: sortAlpha},
{name: 'Z', onpress: sortAlpha},
{name: '#', onpress: sortAlpha}

],
searchitems : [
{display: 'ISO', name : 'iso'},
{display: 'Name', name : 'name', isdefault: true}
],
sortname: "id",
sortorder: "asc",
usepager: true,
title: 'Countries',
useRp: true,
rp: 10,
showTableToggleBtn: true,
width: 700,
height: 255
}
);   

});


调用test.aspx的cs文件

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Xml.Linq;

namespace zjyghomesite
{
    public partial class test : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            string json;
            json = "";
            json += "{\n";
            json += "page: 1,\n";
            json += "total: 2,\n";
            json += "rows: [";
            json += "\n{";
            json += "id:'1',";
            json += "cell:['1','452452'";
            json += ",'ddddd'";
            json += ",'fgdfgdfg'";
            json += ",'dfgdfg'";
            json += ",'3245345']";
            json += "}";
            json += "]\n";
            json += "}";
            Response.Write(json);
        }
    }
}


运行后只输出了flexigrid表格,里面没有我手动塞入的数据,为什么???? --------------------编程问答-------------------- flexigrid还没用过,不过看起来不错,有空研究一下。 --------------------编程问答-------------------- 有木有高手给解决下咧?? --------------------编程问答-------------------- 1. 把colModel : [{display: 'ID', name : 'id', width : 40, sortable : true, align: 'center'}中的单引号全部替换为双引号,字段名用双引号括起来(你的写法在JS里是可以用的,因为符合object的结构,但不符合服务端.Net的Json规范)
如colModel : [{"display": "ID", "name" : "id",....
2.同样道理,CS中输出的不符合规范,JQuery只会把它当作一般的字符串而不是Json
string json;
json = "";
json += "{\n";
json += "\"page\": 1,\n";


json += "\"rows\": [";
json += "\"id\":\"1\",";   
单引号全部替换为双引号,CS中\"表示单引号,建议用StringBuilder来拼接 --------------------编程问答-------------------- \"表示单引号
=>
\"表示引号(字符串) --------------------编程问答-------------------- 似乎还是不行,是不是我的格式不对啊,那段json应该怎么写呢? --------------------编程问答-------------------- 高手再来给说说吧 --------------------编程问答-------------------- 没有人么?
--------------------编程问答-------------------- 引号问题 --------------------编程问答-------------------- 请问你问题解决了吗?我也遇到此类问题,求解啊 --------------------编程问答-------------------- 请问你问题解决了吗?我也遇到此类问题,求解啊 --------------------编程问答-------------------- 什么都试了,就是读不出数据
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,