jQuery MiniUI

 找回密码
 立即注册
查看: 2917|回复: 9
打印 上一主题 下一主题

miniui-tree 后台这样写,为什么提示json 错误,求大神帮忙 [复制链接]

Rank: 3Rank: 3

跳转到指定楼层
楼主
发表于 2016-6-2 16:35:08 |只看该作者 |倒序浏览

     <ul id="tree1" class="mini-tree" url="../AjaxService/Dictionary_Ajax.aspx?method=LoadDictionaryTree" style="width: 300px; height: 200px; padding: 5px;"
                showtreeicon="true"  textfield="text" valuefield="id" parentfield="pid" resultastree="true"
                showarrow="true" expandonnodeclick="true">
            </ul>

        </div>
        <script type="text/javascript">
            mini.parse();         
        </script>

/// <summary>
        /// 获取字典树
        /// </summary>
        /// <returns></returns>
        private string GetDictionaryTree(HttpContext context)
        {
            StringBuilder _strResult = new StringBuilder();

            try
            {
                DictionaryType DalDictionaryType = new DictionaryType();
                Model.DictionaryType modelDictionaryType = new Model.DictionaryType();
                DataTable ds = DalDictionaryType.GetList(modelDictionaryType);              
                _strResult.Append("[{id: \"hander\",text: \"字典类别\",children: [");
                var index = 0;
                for (int i = 0; i < ds.Rows.Count; i++)
                {
                    if (index > 0) _strResult.Append(",");
                    _strResult.Append("{id: \"" + ds.Rows[i]["DictionaryNum"] + "\", text: \"" + ds.Rows[i]["DictionaryTypeName"] + "\"}");
                    index++;
                }               
                _strResult.Append("]}]");
            }
            catch (Exception)
            {

                throw;
            }
            return JsonConvert.SerializeObject(_strResult.ToString());

        }

Rank: 8Rank: 8

沙发
发表于 2016-6-2 16:44:02 |只看该作者
MiniUI只是前端控件,和后台无关,报json错误是你后台返回的数据不对,请检查后台返回的数据

Rank: 3Rank: 3

板凳
发表于 2016-6-2 16:56:11 |只看该作者
dforce 发表于 2016-6-2 16:44
MiniUI只是前端控件,和后台无关,报json错误是你后台返回的数据不对,请检查后台返回的数据 ...

StringBuilder _strResult = new StringBuilder();
            DataTable ds;
            try
            {
                DictionaryType DalDictionaryType = new DictionaryType();
                Model.DictionaryType modelDictionaryType = new Model.DictionaryType();
                 ds = DalDictionaryType.GetList(modelDictionaryType);              
               
            }
            catch (Exception)
            {
               
                throw;
            }
       string s=   JsonConvert.SerializeObject(ds);
      return JsonConvert.SerializeObject(ds);

我直接序列化返回的json值,
[
    {
        "DictionaryTypeId": "1",
        "DictionaryTypeName": "调查设备3",
        "DictionaryNum": "003",
        "Sort": "3",
        "Remark": null
    },
    {
        "DictionaryTypeId": "2",
        "DictionaryTypeName": "调查设备2",
        "DictionaryNum": "002",
        "Sort": "2",
        "Remark": null
    },
    {
        "DictionaryTypeId": "3",
        "DictionaryTypeName": "调查设备1",
        "DictionaryNum": "001",
        "Sort": "1",
        "Remark": null
    }
]
这个json我校验过,没有错误,但是还是报错

Rank: 8Rank: 8

地板
发表于 2016-6-2 17:17:14 |只看该作者
wangqianwq 发表于 2016-6-2 16:56
StringBuilder _strResult = new StringBuilder();
            DataTable ds;
            try

textfield="text" valuefield="id" parentfield="pid"
你的数据肯定压根没这些字段

Rank: 3Rank: 3

5#
发表于 2016-6-2 17:35:47 |只看该作者
dforce 发表于 2016-6-2 17:17
textfield="text" valuefield="id" parentfield="pid"
你的数据肯定压根没这些字段

    <ul id="tree1" class="mini-tree" url="../AjaxService/Dictionary_Ajax.aspx?method=LoadDictionaryTree" style="width: 300px; height: 200px; padding: 5px;"
                showtreeicon="true"  textfield="DictionaryTypeName" valuefield="DictionaryNum" parentfield="pid" resultastree="false"
              expandOnLoad="0">   
            </ul>

        <script type="text/javascript">
            mini.parse();         
        </script>

有的,现在不报错了,但是前台页面一片空白,没有东西显示

Rank: 8Rank: 8

6#
发表于 2016-6-3 09:27:43 |只看该作者
wangqianwq 发表于 2016-6-2 17:35
mini.parse();         
        


如图,用个txt存你的数据都可以显示的

附件: 你需要登录才可以下载或查看附件。没有帐号?立即注册

Rank: 3Rank: 3

7#
发表于 2016-6-7 18:34:37 |只看该作者
felt 发表于 2016-6-3 09:27
如图,用个txt存你的数据都可以显示的

有没有别的方法,直接访问呢

Rank: 8Rank: 8

8#
发表于 2016-6-8 09:25:25 |只看该作者
wangqianwq 发表于 2016-6-7 18:34
有没有别的方法,直接访问呢

url就是个地址,你这地址返回正确格式的数据就能获取到
具体请下载我们试用包,有后台获取数据的例子

Rank: 3Rank: 3

9#
发表于 2016-6-8 17:04:32 |只看该作者
felt 发表于 2016-6-8 09:25
url就是个地址,你这地址返回正确格式的数据就能获取到
具体请下载我们试用包,有后台获取数据的例子 ...

有的
string _strResponseString = string.Empty;
            string method = Request.QueryString["method"];
            if (string.IsNullOrEmpty(method))
            {
                method = Request.Form["method"];
            }
            switch (method)
            {
                case "LoadDictionaryTree":
                    _strResponseString = GetDictionaryTree(HttpContext.Current);//获取字典树
                    break;
            }

       /// <summary>
        /// 获取字典树
        /// </summary>
        /// <returns></returns>
        private string GetDictionaryTree(HttpContext context)
        {
            StringBuilder _strResult = new StringBuilder();
            DataTable ds;
            try
            {
                DictionaryType DalDictionaryType = new DictionaryType();
                Model.DictionaryType modelDictionaryType = new Model.DictionaryType();
                 ds = DalDictionaryType.GetList(modelDictionaryType);
                 //_strResult.Append("[{\"id\": \"hander\",\"text\": \"字典类别\",children: [");
                 //var index = 0;
                 //for (int i = 0; i < ds.Rows.Count; i++)
                 //{
                 //    if (index > 0) _strResult.Append(",");
                 //    _strResult.Append("{\"id\": \"" + ds.Rows["DictionaryNum"] + "\", \"text\": \"" + ds.Rows["DictionaryTypeName"] + "\"}");
                 //    index++;
                 //}
                 //_strResult.Append("]}]");
            }
            catch (Exception)
            {
               
                throw;
            }
   //    string s=   JsonConvert.SerializeObject(ds);
         //   return _strResult.ToString();
            return JsonConvert.SerializeObject(ds);
         
        }


前台:

  <title>字典管理</title>

    <script src="../scripts/jquery-1.6.2.min.js"></script>
    <script src="../scripts/miniui/miniui.js"></script>
    <script src="../scripts/boot.js"></script>
    <link href="../scripts/miniui/themes/blue/skin.css" rel="stylesheet" />
    <link href="../scripts/miniui/themes/icons.css" rel="stylesheet" />
</head>

<body>

    <ul id="tree1" class="mini-tree" url="../AjaxService/Dictionary_Ajax.aspx?method=LoadDictionaryTree" style="width: 300px; height: 200px; padding: 5px;"
        showtreeicon="true" textfield="DictionaryTypeName" valuefield="DictionaryNum" parentfield="pid" expandonload="0" allowdrag="true" allowdrop="true" allowleafdropin="true">
    </ul>

    <script type="text/javascript">
        mini.parse();
    </script>

Rank: 8Rank: 8

10#
发表于 2016-6-8 17:23:36 |只看该作者
wangqianwq 发表于 2016-6-8 17:04
有的
string _strResponseString = string.Empty;
            string method = Request.QueryString[" ...

我们只是前端控件,不负责后台处理,你可以下载我们试用包,里面有后台,以及树后台加载组织数据的完整代码

另外引用miniui.js,如果是单独引用,请引用
jquery.js
miniui.js
miniui.css
icon.css
另外的皮肤skin.css

boot.js就是辅助引用前面4个文件,请不要重复引用

Archiver|普加软件

GMT+8, 2024-11-15 19:27 , Processed in 1.044089 second(s), 11 queries .

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部