json 绑定

http://www.csaspx.com/articlelist-952.html

///
    /// 根据DataTable生成Json树结构
    ///
    ///数据源
    ///ID列
    ///Text列
    ///关系字段
    ///父ID
    StringBuilder result = new StringBuilder();
    StringBuilder sb = new StringBuilder();
    private void GetTreeJsonByTable(DataTable tabel,string idCol, string txtCol, string rela, object pId)
    {
       result.Append(sb.ToString());
        sb.Clear();
        if (tabel.Rows.Count >0)
        {
           sb.Append("[");
           string filer = string.Format("{0}=‘{1}‘", rela, pId);
           DataRow[] rows = tabel.Select(filer);
           if (rows.Length > 0)
           {
               foreach (DataRow row in rows)
               {
                   sb.Append("{\"id\":\"" + row[idCol] + "\",\"text\":\"" +row[txtCol] + "\",\"state\":\"open\"");
                   if (tabel.Select(string.Format("{0}=‘{1}‘", rela,row[idCol])).Length > 0)
                   {
                       sb.Append(",\"children\":");
                       GetTreeJsonByTable(tabel, idCol, txtCol, rela, row[idCol]);
                       result.Append(sb.ToString());
                       sb.Clear();
                   }
                   result.Append(sb.ToString());
                   sb.Clear();
                   sb.Append("},");
               }
               sb = sb.Remove(sb.Length - 1, 1);
           }
           sb.Append("]");
           result.Append(sb.ToString());
           sb.Clear();
        }
    }

调用方法很简单,运行这个void 类型的函数,然后取result 的值就行了,

GetTreeJsonByTable(datatable, "id", "title", "pid", "0");
string content = result.ToString();

干货啊 。好东西啊 。

时间: 2024-12-14 22:58:07

json 绑定的相关文章

Jquery+json绑定带层次下拉框(select控件)

一.实现的效果图 二.主要代码 html代码 <select id="pid" runat="server"> <option value="0" data="|0|">不选父级类</option> </select> Jquery代码 var html = ['<option value="0">不选父级模块</option>'];

HTTP模拟工具【C#/Winform源码】、Json绑定TreeView控件、使用了MetroModernUI、RestSharp、Dapper.Net、Newtonsoft.Json、SmartThreadPool这几个主要开源框架

HTTP模拟工具 开发语言:C#/Winform开发工具:Visual Studio 2017数据库:   SQLite使用框架:界面-MetroModernUI              Http请求-RestSharp              ORM-Dapper.Net              Json解析-Newtonsoft.Json              多线程-SmartThreadPool本来打算试一下Dapper.Net扩展框架-DapperExtensions,用了有

Select级联菜单,用Ajax获取Json绑定下拉框(jQuery)

需求类似这样  ↓ ↓ ↓   -->    菜单A发生变化,动态取数据填充下拉菜单B. JS代码如下: <script type="text/javascript"> $(function () { $("#TeamSelect").change(function () { var tid = $("#TeamSelect option:selected").val(); $.ajax({ url: "/ajax/a

笔记:Jersey REST 传输格式-JSON

JSON 类型已经成为Ajax技术中数据传输的实际标准,Jersey 提供了多种处理JSON数据的包和解析方式,下表展示了JSON包和解析方式: 解析方式\JSON支持包 MOXy JSON-P Jackson 基于POJO的JSON绑定 是 否 是 基于JAXB的JSON绑定 是 否 是 低级的(逐字的)JSON解析和处理 否 是 否 使用 MOXy 处理JSON MOXy 是 EclipseLink项目的一个模块,是使用JAXB和SDO作为XML绑定的技术基础,实现了JSR222标准(JAX

ASP.NET Core MVC/WebAPi 模型绑定探索

前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用到了,你再去看理论性的文章时才会豁然开朗,这是我一直以来学习技术的方法.本文我们来讲解.NET Core中的模型绑定. 话题 在ASP.NET Core之前MVC和Web APi被分开,也就说其请求管道是独立的,而在ASP.NET Core中,WebAPi和MVC的请求管道被合并在一起,当我们建立控

asp.net core2.1 bundleconfig.json合并压缩资源文件

在asp.net core中则可以使用BuildBundlerMinifier来进行css,js的压缩合并 1.使用NuGet安装 BuildBundlerMinifier(也可以在vs中下载安装扩展Bundler & Minifier,手动压缩文件) 2.新建:bundleconfig.json 绑定和缩减 [ { // 要输出的捆绑文件名称. 可以包含中的相对路径bundleconfig.json文件. 必填 "outputFileName": "wwwroot/

【转】ASP.NET Core MVC/WebAPi 模型绑定探索

前言 相信一直关注我的园友都知道,我写的博文都没有特别枯燥理论性的东西,主要是当每开启一门新的技术之旅时,刚开始就直接去看底层实现原理,第一会感觉索然无味,第二也不明白到底为何要这样做,所以只有当你用到了,你再去看理论性的文章时才会豁然开朗,这是我一直以来学习技术的方法.本文我们来讲解.NET Core中的模型绑定. 话题 在ASP.NET Core之前MVC和Web APi被分开,也就说其请求管道是独立的,而在ASP.NET Core中,WebAPi和MVC的请求管道被合并在一起,当我们建立控

ASP.NET MVC5(一):ASP.NET MVC概览

ASP.NET MVC概览 ASP.NET MVC是一种构建Web应用程序的框架,它将一般的MVC(Model-View-Controller)模式应用于ASP.NET框架. ASP.NET MVC模式简介 MVC将Web应用程序划分为三个主要的部分,以下是MSDN给出的定义: 模型(Model):模型对象是实现应用程序数据域逻辑的应用程序部件. 通常,模型对象会检索模型状态并将其存储在数据库中. 例如,Product 对象可能会从数据库中检索信息,操作该信息,然后将更新的信息写回到 SQL S

Asp.Net MVC EF各版本区别

2009年發行ASP.NET MVC 1.0版 2010年發行ASP.NET MVC 2.0版,VS2010 2011年發行ASP.NET MVC 3.0版+EF4,需要.Net4.0支持,VS2011 2012年發行ASP.NET MVC 4.0版+EF5,需要.Net4.0支持,VS2012 2013年發行ASP.NET MVC 5.0版+EF6,需要.Net4.5支持,VS2013 2015年發行ASP.NET MVC 6.0版+EF7,需要.Net5.0支持,VS2015 ASP.NET