获得省市 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();
}

时间: 2024-10-24 22:11:04

获得省市 json 后台代码的相关文章

EasyUI中datagrid实现显示、增加、 删除、 修改、 查询操作(后台代码C#)

2datagrid加载数据.代码如下所示 一.数据的显示 1新建HtmlPage2.html页面,引入相关文件.如下所示 <script src="easyui/js/jquery-1.8.2.min.js"></script>  <script src="easyui/js/jquery.easyui.min.js"></script>  <link href="easyui/css/themes/d

js方法内Ajax请求数据判断,验证无效(OnClientClick=&quot;return Method();&quot;),还是直接执行后台代码

function CheckAdd() { var flag = true; $.ajax({ cache: false, async: false, url: "/ajaxpage/getajax.aspx?t=adjserviceclientlist&Cellphone=" + Cellphone + "&a=" + Math.random(), dataType: 'json', success: function (data) { if (d

8人/天,小记一次 JAVA(APP后台) 项目改造 .NET 过程(后台代码已完整开源于 Github)

Github: https://github.com/iccb1013/Jade.Net 我们只消耗了8/人天的时间,完成了全部工作,基于我们 Jade.Net 的开源后台代码,任何小规模的后台管理系统,都可以在极短的时间内完成. 这是我们在 2017 年早些时候开发的一个项目,甲方是一家工艺美术品企业,需要开发一款 APP 展示产品,并引入会员(多级代理),在线下单,返点等功能. 在立项后由于一些原因,选择了使用 Java 来开发后台管理部分,面向 IOS 和 Android 版客户端提供服务

给 layui upload 带每个文件的进度条, .net 后台代码

1.upload.js 扩展 功能利用ajax的xhr属性实现该功能修改过modules中的upload.js文件功能具体实现:在js文件中添加监听函数 //创建监听函数 var xhrOnProgress=function(fun) { xhrOnProgress.onprogress = fun; //绑定监听 //使用闭包实现监听绑 return function() { //通过$.ajaxSettings.xhr();获得XMLHttpRequest对象 var xhr = $.aja

接上篇elasticsecrchi 进行搜索及时提示,数据库以及后台代码

-- ------------------------------ Table structure for articles-- ----------------------------DROP TABLE IF EXISTS `articles`;CREATE TABLE `articles` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(200) NOT NULL COMMENT '标题', `content` text CO

asp.net调用前台js调用后台代码分享

C#前台js调用后台代码 前台js <script type="text/javascript" language="javascript"> function Ceshi() { var a = "<%=Getstr()%>"; alert(a); } </script> <input type="button" onclick="Ceshi();" value=

在后台代码中动态生成pivot项并设置EventTrigger和Action的绑定

最近在做今日头条WP的过程中,遇到需要动态生成Pivot项的问题.第一个版本是把几个频道写死在xaml里了,事件绑定也写在xaml里,每个频道绑定一个ObservableCollection<ArticleItem>.xaml中一个Pivot项的代码大体如下: <phone:PivotItem Header="热点"> <Grid Margin="12,0,0,0" > <Grid.RowDefinitions> &l

Windows Store App 全球化:在后台代码中引用字符串资源

上文提到了引用字符串资源具有两种方式,分别是在XAML元素中和在后台代码中引用资源文件中的字符串资源.在第一小节已经介绍了如何在XAML元素中引用字符串资源,本小节将讲解在后台代码中引用字符串资源的相关知识点. 下面通过一个示例直接讲述如何在后台代码中引用资源文件中的字符串资源.新建一个Windows应用商店的空白应用程序项目,并命名为StringResourcesInCode.在项目中新建一个名为"Strings"的文件夹,在"Strings"文件夹下新建名为&q

项目--后台代码提示

Page.ClientScript.RegisterStartupScript(GetType(), "", "<script>alert('您不需要销假!');</script>"); Response.Write("<script type='text/javascript'>alert('修改成功!');</script>"); this.LinkButton3.Attributes.Add(