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

本文共 3983 字,大约阅读时间需要 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);                        }                    });

转载地址:http://fmnpl.baihongyu.com/

你可能感兴趣的文章
C#中的线程(三) 使用多线程
查看>>
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
查看>>
onSaveInstanceState和onRestoreInstanceState触发的时机
查看>>
设计模式学习02—工厂模式
查看>>
html5--6-10 CSS选择器7--伪类选择器
查看>>
激光数据匹配(MATLAB Robotics System Toolbox)
查看>>
file_put_contents执行返回false,file_put_contents false(linux服务器httpd)
查看>>
Dependency Walker (depends.exe) Home Page
查看>>
Android---- 如何把calendar.getTimeInMillis()获得的毫秒时间
查看>>
Java学习JVM搞搞Jconsole呗
查看>>
JavaScript学习总结一(String对象的用法)
查看>>
lintcode:背包问题II
查看>>
处理手势冲突和错乱的一点经验
查看>>
Struts2防止表单重复提交
查看>>
[转]Python格式化输出
查看>>
在Activity中响应ListView内部按钮的点击事件
查看>>
CSS - 修改input - placeholder 和 readonly 的样式
查看>>
常用UI布局
查看>>
在多线程情况下 局部变量与全局变量 哪个比较安全呢
查看>>
算法评测
查看>>