获得省市 json 后台代码
string connString = ConfigurationManager.ConnectionStrings["connStr"].ToString();
SqlConnection conn = new SqlConnection(connString);
conn.Open();
string sql = "select *from [dbo].[CrmAddress]";
SqlDataAdapter da = new SqlDataAdapter(sql,conn);
DataSet ds = new DataSet();
da.Fill(ds);
DataTable dt = ds.Tables[0];
DataRow[] arraySheng = dt.Select("CityLevel=1").OrderBy(e => e["CityCode"]).ToArray();
DataRow[] arrayShi = dt.Select("CityLevel=2").OrderBy(e => e["CityCode"]).ToArray();
Hashtable htshengshi = new Hashtable();
foreach (var itemsheng in arraySheng)
{
List<KeyValuePair<string, string>> shiList = new List<KeyValuePair<string, string>>();
foreach (var itemshi in arrayShi)
{
if (itemsheng["CityCode"].ToString().Trim() == itemshi["ParentID"].ToString().Trim())
{
shiList.Add(new KeyValuePair<string, string>(itemshi["CityCode"].ToString(), itemshi["CityName"].ToString()));
}
}
htshengshi.Add(itemsheng["CityCode"].ToString(), shiList);
}
DataTable dtsheng = new DataTable();
foreach (DataColumn col in dt.Columns)
{
dtsheng.Columns.Add(col.ColumnName);
}
foreach (var sheng in arraySheng)
{
dtsheng.Rows.Add(sheng.ItemArray);
}
StringBuilder jsonResult = new StringBuilder();
jsonResult.Append("{");
jsonResult.Append("\"result\":\"1\",");
jsonResult.Append("\"data\":{");
jsonResult.Append("\"province\":");
jsonResult.Append(ListToJsonString(dtsheng));
jsonResult.Append(",");
jsonResult.Append("\"city\":");
jsonResult.Append("[");
string fengefu = "";
foreach (DictionaryEntry itemSheng in htshengshi)
{
jsonResult.Append(fengefu+"{\"");
jsonResult.Append(itemSheng.Key.ToString());
jsonResult.Append("\":[");
List<KeyValuePair<string,string>> tempCityList= itemSheng.Value as List<KeyValuePair<string,string>>;
string fengefu2 = "";
foreach (KeyValuePair<string,string> itemShi in tempCityList)
{
jsonResult.Append(fengefu2+"{");
jsonResult.Append("\"");
jsonResult.Append(itemShi.Key.ToString());
jsonResult.Append("\":\"");
jsonResult.Append(itemShi.Value.ToString());
jsonResult.Append("\"}");
fengefu2 = ",";
}
jsonResult.Append("]");
jsonResult.Append("}");
fengefu = ",";
}
jsonResult.Append("]}}");
context.Response.ContentType = "text/plain";
context.Response.Write(jsonResult);
}
/// <summary>
/// 将DataSet中数据,json化
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public string ListToJsonString(DataTable source)
{
StringBuilder result = new StringBuilder();
string fengefu0 = "";
foreach (DataRow row in source.Rows)
{
result.Append(fengefu0 + "{");
fengefu0 = ",";
string fengefu = "";
foreach (DataColumn col in source.Columns)
{
result.Append(fengefu + "\"" + col.ColumnName + "\":" + "\"" + row[col].ToString().Trim() + "\"");
fengefu = ",";
}
result.Append("}");
}
result.Insert(0, "[");
result.Append("]");
return result.ToString();
}
获得省市 json 后台代码的更多相关文章
- jquery读取后台代码
前台代码: <script type="text/javascript"> $(function () { $("#btn") ...
- Ajax调用asp.net后台代码
后台代码: [WebMethod] public static string CreateDate(string name,string age) { return "姓名:"+n ...
- EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)
菜鸟进入,高手请绕道! +++++++++++++++++++++++++++++++++++++++ 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <scri ...
- 8人/天,小记一次 JAVA(APP后台) 项目改造 .NET 过程(后台代码已完整开源于 Github)
Github: https://github.com/iccb1013/Jade.Net 我们只消耗了8人/天的时间,完成了全部工作,基于我们 Jade.Net 的开源后台代码,任何小规模的后台管理系 ...
- 接上篇elasticsecrchi 进行搜索及时提示,数据库以及后台代码
-- ------------------------------ Table structure for articles-- ----------------------------DROP TA ...
- 给 layui upload 带每个文件的进度条, .net 后台代码
1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 var xhrOnProgr ...
- mvc 登陆界面+后台代码
上代码 前端+js(懒得分文件了) @{ ViewBag.Title = "MVC权限系统架构学习-登录"; Layout = "/Views/Shared/_LoadJ ...
- js脚本中执行java后台代码
使用场景:关闭页面弹窗时执行sql语句. 其实js里执行sql语句有多种方式. 方式一:直接在js代码里调用sql语句,原则上不能使用,因为这将sql直接暴露在客户端,安全性极差. 方式二:在js里运 ...
- pagebean pagetag java 后台代码实现分页 demo 前台标签分页 后台java分页
java 后台代码实现分页 demo 实力 自己写的 标签分页 package com.cszoc.sockstore.util; import java.util.HashMap;import ja ...
随机推荐
- Convert Sorted Array to Binary Search Tree || LeetCode
/** * Definition for a binary tree node. * struct TreeNode { * int val; * struct TreeNode *left; * s ...
- wordpress搬家到本地URL修改问题
把原来服务器上面的WordPress的数据库和目录文件全部备份下来,在本地用xampp搭了一个服务器,然后将数据库和目录文件全部导入,更改conf文件中的数据库账号密码.没想到本地网站的所有CSS样式 ...
- LeetCode Kth Largest Element in an Array
原题链接在这里:https://leetcode.com/problems/kth-largest-element-in-an-array/ 题目: Find the kth largest elem ...
- LeetCode Generalized Abbreviation
原题链接在这里:https://leetcode.com/problems/generalized-abbreviation/ 题目: Write a function to generate the ...
- 【转】给npm设置代理
可以运行如下两句命令设置代理,注意代理的地址改为自己实际可用的代理. npm config set proxy=http://127.0.0.1:8087 npm config set registr ...
- ASP.NET MVC中,怎么使用jquery/ajaxForm上传文件
ajaxForm插件最好选择:jquery forms plugin. 以下为示例: Ajax.BeginForm @using (Ajax.BeginForm("YourAction&qu ...
- BJFU 1057
描述 斐波那契额数列,我们都知道.现在qingyezhu想求斐波那契的某项值对2的某次方的结果.你可以帮一下他吗?他好可怜哦!计算了N的N次方次都错了,也挨了ben大哥的N的N次方次的训了.我想你是个 ...
- [ruby]Windows Ruby安装步骤
Windows Ruby 安装步骤 准备工作: 1.http://rubyinstaller.org/downloads/ 下载选择Ruby 1.9.3 2.http://rubyinstaller. ...
- z/OS上Dataset 的移动
最近的一个需求,需要把大批量的Dataset移到新的Storage Class,新的Volume中去,刚开始感觉非常头疼.仔细研究后发现这个事情其实很简单.确实符合别人所说,事情的在你真正开始努力之后 ...
- 扩大Tomcat内存
在Eclipse里选:Window->Preference->Installed JREs->Edit(选中jre),在Default VM Arguments里输入-Xms256m ...