获得省市 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 ...
随机推荐
- CDN缓存那些事
CDN是什么? 谈到CDN的作用,可以用8年买火车票的经历来形象比喻: 8年前,还没有火车票代售点一说,12306.cn更是无从说起.那时候火车票还只能在火车站的售票大厅购买,而我所住的小县城并不通火 ...
- Python开发程序:选课系统
本节作业: 选课系统 角色:学校.学员.课程.讲师要求:1. 创建北京.上海 2 所学校2. 创建linux , python , go 3个课程 , linux\py 在北京开, go 在上海开3. ...
- Spring MVC Integration,Spring Security
http://docs.spring.io/spring-security/site/docs/4.2.0.RELEASE/reference/htmlsingle/#authorize-reque ...
- docker入门的文章
PART 1: OVERVIEW OF MICROSERVICE ARCHITECTURE & CONTAINERIZATION PART II: GETTING SET-UP AND STA ...
- 解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题
解决SQLSERVER在还原数据时出现的“FILESTREAM功能被禁用”问题 今天由于测试需要,在网上下载了Adventureworks2008实例数据库的BAK文件,进行还原时出现了这样的错误“F ...
- lnmp环境下载安装包
一.下载php(官网):http://php.net/downloads.php 点击上图选择的php-7.0.10.tar.gz (sig) 进入如下页面: 需要在linux上面下载需要如下操作: ...
- Hibernate Validator验证标签说明
Hibernate Validator是JSR-303的一个实现. 在FormBean里添加Hibernate Validator的注解,与定义一个校验类的做法相比.注解更加简洁.灵活. Bean V ...
- AJAX-----02远古时期的ajax
其实也可以利用创建元素然后用添加属性的方法进行请求后端的
- javascript中的自增与自减
一直都对自增与自减的执行顺序有点糊涂,今天查了资料,来总结一下 a++(a--),就是指当时计算a,当下一次使用这个变量的时候才执行++或者-- ++a(--a),就是指当时就计算++或者-- 例1: ...
- 如何在page_load方法判断是服务器端控件引发的page_load方法
动态获取单击的服务器端控件的id值 private string getPostBackControlName() { Control control=null; s ...