Ext4.1 后台数据有返回,但是Grid不能显示数据。求大神赐教

Ext4.1 后台数据有返回,但是Grid不能显示数据。求大神指教!
本帖最后由 Foreign_Key 于 2015-02-02 16:30:04 编辑
这是前台Ext代码
text: "<span style='font-size:12px'>查询用户信息</span>",
            handler: function () {
                var pnCenter = Ext.getCmp("pnCenter");
                if (pnCenter.getComponent("selectUsersPanel") == null) {
                    //创建用户信息数据集
                    var selectUsersStore = Ext.create('Ext.data.Store',{
                        storeId: "selectUsersStore",
                        autoLoad: true,
                        fields: ["userName", "userPwd", "userMobilePhone", "userAddr", "userParentID", "userAuthor", "userIntroduce", "userType"],
                        proxy: {
                            type: "ajax",
                            url: "./GetData.aspx?getDataMethod=getUsers&userId=" + getCookies("user_Id") + "&userName=" + getCookies("user_Name") + "&loginType=" + getCookies("login_Type"),
                            reader: {
                                type: "json"
                            }
                        }
                    })
                    //创建用户信息面板
                    var selectUsersPanel = new Ext.grid.Panel({
                        id: "selectUsersPanel",
                        title: "<span style='font-size:13px'>用户信息</span>",
                        closable: true,
                        autoScroll: true,
                        store: Ext.data.StoreManager.lookup("selectUsersStore"),
                        columns: [
                            { header: "用户名", dataIndex: "userName", width: "10%",align:"center" },
                            { header: "密码", dataIndex: "userPwd", width: "10%", align: "center" },
                            { header: "手机", dataIndex: "userMobilePhone", width: "10%", align: "center" },
                            { header: "地址", dataIndex: "userAddr", width: "10%", align: "center" },
                            { header: "上级用户", dataIndex: "userParentID", width: "10%", align: "center" },
                            { header: "权限", dataIndex: "userAuthor", width: "30%", align: "center" },
                            { header: "用户说明", dataIndex: "userIntroduce", width: "10%", align: "center" },
                            { header: "用户类型", dataIndex: "userType", width: "10%", align: "center" }
                        ]
                    })
                    pnCenter.add(selectUsersPanel).show();
                } else {
                    pnCenter.getComponent("selectUsersPanel").show();
                }
            }

//这是后台返回的代码
protected void Page_Load(object sender, EventArgs e)
        {
            if (!String.IsNullOrEmpty(Request.QueryString["getDataMethod"])) {
                string getDataMethod = Request.QueryString["getDataMethod"];
                Response.Write(usersCRUD(getDataMethod));
            }
        }

        #region 修改、删除、添加、查询用户信息
        public string usersCRUD(string getDataMethod) { 
            StringBuilder sb = new StringBuilder("[");
            switch(getDataMethod){
                //查询用户信息
                case "getUsers":
                    //if (!String.IsNullOrEmpty(Request.QueryString["userId"]) && !String.IsNullOrEmpty(Request.QueryString["userName"]) && !String.IsNullOrEmpty(Request.QueryString["loginType"]))
                    //{
                        int user_Id = int.Parse(Request.QueryString["user_Id"]);
                        string user_Name = Request.QueryString["user_Name"];
                        int login_Type = int.Parse(Request.QueryString["login_Type"]);
                        int[] intUser = new int[1];
                        intUser[0] = user_Id;
                        string userJson = gsa.QueryUser(login_Type, user_Name, intUser, true);
                        JavaScriptSerializer js = new JavaScriptSerializer();
                        InfoModel im = js.Deserialize<InfoModel>(userJson);
                        if (im.errCode == 0 && im.info.Count > 0) {
                            foreach (var item in im.info)
                            {
                                sb.Append("{userName:'" + item.userName + "',");
                                sb.Append("userPwd:'" + item.userPwd + "',");
                                sb.Append("userMobilePhone:'" + item.userMobilePhone + "',");
                                sb.Append("userAddr:'" + item.userAddr + "',");
                                sb.Append("userParentID:'" + item.userParentID.ToString() + "',");
                                sb.Append("userAuthor:'" + item.userAuthor.ToString() + "',");
                                sb.Append("userIntroduce:'" + item.userIntroduce + "',");
                                sb.Append("userType:'" + item.userType.ToString() + "'},");
                            }
                            sb.Append("]");
                        }

                    //}
                    break;
            };
            return removeStr(sb.ToString());
        }
        #endregion

        #region 删除最后一个逗号
        public string removeStr(string str) {
            int index = str.LastIndexOf(",");
            if (index != -1) {
                return (replaceJson(str.Remove(index, 1)));
            }
            return "0";
        }
        #endregion

        #region 移除特殊字符
        private string replaceJson(string subStr)
        {
            string[] words = { "\n", "\t", "\r", "\f", "\\" };
            for (int i = 0; i < words.Length; i++)
            {
                subStr = subStr.Replace(words[i], "");
            }
            return subStr;
        }
        #endregion

前台的GridPanel是放在一个按钮事件里面的。

Ext4.1 后台数据有返回,但是Grid不能显示数据。求大神赐教
在地址栏直接输入ajax请求的地址 页面正常打开,并且能正常显示JSon。
但在grid控件里面就是不能显示。
------解决思路----------------------
store -> proxy- > reader -> root
------解决思路----------------------
json里面要配置root,你返回的json数据里面要有相应的root,比如你的reader里面有root:'data',那你的返回json字符串中应该是{data:[{},{}]}之类的