zl程序教程

您现在的位置是:首页 >  后端

当前栏目

dojo从asp.net中获取json数据

NetASP数据JSONJSON 获取 Dojo
2023-09-14 08:58:00 时间

搞来有搞去终于有了个结果,主要是一开始犯了一些低级错误。

对于json不太了解的童鞋,可以看看这个:http://www.dreamdu.com/blog/2008/10/19/json_in_javascript/

这个例子中主要是从数据库中读取数据,转换成JSON格式,传递给前端,废话少说上代码:


protected void Page_Load(object sender, EventArgs e)

 string b = Request["callback"];


//数据库操作 SqlConnection thisConnection = new SqlConnection("Data Source=localhost;Initial Catalog=commodities; uid=sa;Password=123"); string command = "select * from InterestStore where UserID = " + name; SqlDataAdapter thisAdapter = new SqlDataAdapter(command, thisConnection); SqlCommandBuilder thisCommandBuilder = new SqlCommandBuilder(thisAdapter); DataSet thisDataSet = new DataSet(); thisAdapter.Fill(thisDataSet, "IStore"); //将数据表转换成JSON数据 string ss = GetJson(thisDataSet, "IStore"); //返回到前端 Response.Write(ss); Response.End();//Response.End把前面的内容都输出了,阻止了后面html相关内容的输出 }
下面是将数据转化成JSON代码(改了好长时间,哈哈)


/// summary 

 /// 获取Json数据

 /// /summary 

 /// param name="dSet" 数据集 /param 

 /// param name="strTableName" 表名 /param 

 /// returns /returns 

 private string GetJson(DataSet dSet, string strTableName)

 StringBuilder sBuilder = new StringBuilder();

 sBuilder.Append("{");

 //sBuilder.Append(" " + strTableName + ":{");

 sBuilder.Append("\"" + strTableName +"\":[");

 try {

 for (int i = 0; i dSet.Tables[strTableName].Rows.Count; i++)

 sBuilder.Append("{");

 for (int j = 0; j dSet.Tables[strTableName].Columns.Count; j++)

 sBuilder.AppendFormat("\"{0}\":\"{1}\",", dSet.Tables[strTableName].Columns[j].ColumnName, dSet.Tables[strTableName].Rows[i][j].ToString());

 sBuilder.Remove(sBuilder.ToString().LastIndexOf(,), 1);

 sBuilder.Append("},");

 sBuilder.Remove(sBuilder.ToString().LastIndexOf(,), 1);

 sBuilder.Append("]");

 sBuilder.Append("}");

 //sBuilder.Append(" };");

 return sBuilder.ToString();

 catch (Exception es){

 throw new Exception(es.Message);

 }

前台返回的数据:

{"IStore":[{"SOIID":"1 ","UserID":"001 ","StoreID":"47 ","Attention":"10"},{"SOIID":"2 ","UserID":"001 ","StoreID":"77 ","Attention":"8"},{"SOIID":"3 ","UserID":"001 ","StoreID":"81 ","Attention":"8"},{"SOIID":"4 ","UserID":"001 ","StoreID":"42 ","Attention":"7"},{"SOIID":"5 ","UserID":"001 ","StoreID":"81 ","Attention":"6"},{"SOIID":"6 ","UserID":"001 ","StoreID":"114 ","Attention":"6"},{"SOIID":"7 ","UserID":"001 ","StoreID":"106 ","Attention":"8"},{"SOIID":"8 ","UserID":"001 ","StoreID":"116 ","Attention":"6"}]}

前台执行ajax调用的代码


xhr.get({

 //请求页面

 url: "WebForm3.aspx",

 //参数

 content: { name: sname },

 //数据格式

 handleAs: "json",

 //当执行成功时调用的方法

 load: function (newContent) {

 try {

 var str = newContent;

 console.log(str);

 console.log("ddddddddddddddddddd");

 console.log(dojo.toJson(str));

 catch (err)

 { console.log(err); }

 //dom.byId("txtSuggestion").value = people.programmers[0].lastName;

 dom.byId("txtSuggestion").value = newContent.IStore[2].StoreID;

 //失败时调用的方法

 error: function (err) {

 //alert("error");

 alert(err);

 });

ASP.NET Core: 二十. Action的多种数据返回格式处理机制(四) 上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(三) 上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(二) 上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
ASP.NET Core: 二十. Action的多种数据返回格式处理机制(一) 上一章讲了系统如何将客户端提交的请求数据格式化处理成我们想要的格式并绑定到对应的参数,本章讲一下它的“逆过程”,如何将请求结果按照客户端想要的格式返回去。
ASP.NET Core微服务之基于MassTransit实现数据最终一致性(2) Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、案例结构与说明 在上一篇中,我们了解了MassTransit这个开源组件的基本用法,这一篇我们结合一个小案例来了解在ASP.NET Core中如何借助MassTransit+Quartz.Net来实现数据的最终一致性。
ASP.NET Core微服务之基于MassTransit实现数据最终一致性(1) Tip: 此篇已加入.NET Core微服务基础系列文章索引 一、预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认识即可。
asp.net core系列 32 EF查询数据 必备知识(1) asp.net core系列 32 EF查询数据 必备知识(1) 一.查询的工作原理 Entity Framework Core 使用语言集成查询 (LINQ) 来查询数据库中的数据。 通过 LINQ 可使用 C#(或你选择的其他 .NET 语言)基于派生上下文和实体类编写强类型查询。