博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dojo从asp.net中获取json数据
阅读量:4561 次
发布时间:2019-06-08

本文共 4063 字,大约阅读时间需要 13 分钟。

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

对于json不太了解的童鞋,可以看看这个:

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

protected void Page_Load(object sender, EventArgs e)        {             string b = Request["callback"];            string name = Context.Request["name"];            //数据库操作            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代码(改了好长时间,哈哈)

///         /// 获取Json数据        ///         /// 数据集        /// 表名        /// 
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);                        }                    });

 

 

转载于:https://www.cnblogs.com/dojo-lzz/archive/2012/06/03/2533274.html

你可能感兴趣的文章
unity 使用RotateAround的使用注意
查看>>
[SDOI2009]HH的项链
查看>>
CodeFirst模式,容易引发数据迁移问题(不建议使用)
查看>>
jquery的colorbox关闭并传递数据到父窗
查看>>
使用Nginx、Keepalived构建文艺负载均衡
查看>>
phpmyadmin 开放远程登录的权限
查看>>
linux安装gcc和gcc-c++
查看>>
qq登陆错误提示
查看>>
bzoj 1192: [HNOI2006]鬼谷子的钱袋 思维 + 二进制
查看>>
没写完,没调完,咕咕咕的代码
查看>>
Android Studio使用技巧:导出jar包
查看>>
Problem E. TeaTree - HDU - 6430 (树的启发式合并)
查看>>
Kafka序列化和反序列化与示例
查看>>
win10下VS2010中文输入法切换为英文卡死
查看>>
retinex相关代码汇总
查看>>
Cortex-M3 异常返回值EXC_RETURN
查看>>
kettle 转换字段遇到问题(couldn't get row from result set)——摘
查看>>
nginx首页根据IP跳转
查看>>
【2019-08-20】有点目标,有点计划,有点目的
查看>>
【2019-09-10】美,真的跟年龄无关
查看>>