获得省市 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 ...
随机推荐
- Git diff 常见用法
Git diff 用于比较两次修改的差异 1.1 比较工作区与暂存区 git diff 比较的是单个仓库的工作区与暂存区的差别,repo diff是对git diff的封装,用来分别显示各个项目 ...
- 程序员遇到BUG的解释
开发应用程序是一项压力很大的工作,人无完人,工作中遇到bug是很正常的事,有些程序员会生气,沮丧,郁闷,甚至泄气,也有一些程序员则会比较淡定.如何进行修复bug的过程,是值得我们好好推敲的. 我想分享 ...
- linux环境下配置java WEB项目运行环境,jdk8+tomcat8+mysql5.7.11 新手向
一:安装jdk 1.下载jdk 在oracle下载东西的时候因为oracle的一些验证机制,所以需要在链接前面添加一些参数 wget --no-check-certificate --no-cook ...
- 完全偶图K(3,3)与完全图K5是否存在平面表示
本文论述k(3, 3)与K5平面表示的存在性.首先给出图的平面表示的定义: 若可以在平面里画出一个图而让边没有任何交叉(边的交叉是指边的直线或弧线在它们的公共端点以外的地方相交),则这个图是平面性的. ...
- Android--再探MVP模式
1,上一篇我们已经了解了大致的MVP模式,下面再通过这个登录功能的例子 ,我们能过更加容易的掌握MVP模式,再来补充一些闲外话:MVP 是 MVC 的变种,其实是一种升级.要说 MVP 就要说说 MV ...
- JSP-10-JSTL标准标签库
JSTL (jsp 标准标签库) 包含用于编写和开发JSP页面的一组标准标签,它可为用户提供一个无脚本的环境. JSTL 提供了4个主要的标签库: 核心标签库.国际化(I18N)与格式化标签库.XML ...
- windows环境下Django安装配置
--python下载 https://www.python.org/downloads/ --pip 下载 https://pypi.python.org/pypi/pip --pip 安装及路径 解 ...
- 《zw版·Halcon-delphi系列原创教程》 Halcon分类函数006, image,影像处理(像素图)
<zw版·Halcon-delphi系列原创教程> Halcon分类函数006, image,影像处理(像素图) 为方便阅读,在不影响说明的前提下,笔者对函数进行了简化: :: 用符号“* ...
- 解决redmine写操作很慢的问题
以前刚开始时用redmine是直接使用它的webrick服务器来运行的,后来为了提高性能,采用nginx+passenger的方式来驱动redmine,访问速度快了不少,但是在新建问题或更新问题时变得 ...
- 给jar包进行数字签名(2014-06-28记)
整理一下两年前用到的一些资料. 为了使Applet或者Java Web Start程序能够访问客户端本地资源,需要对Applet或者JWS程序jar包进行数据签名,当客户端打开Applet或者JWS程 ...