作家
登录

Jquery中getJSON在asp.net中的使用说明

作者: 来源:www.28hudong.com 2013-03-30 00:57:43 阅读 我要评论

准备工作 ·Customer类 复制代码 代码如下: public class Customer { public int Unid { get; set; } public string CustomerName { get; set; } public string Memo { get; set; } public string Other { get; set; } } (一)ashx 复制代码 代码如下: Customer customer = new Customer { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"}; string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer); context.Response.Write(strJson); 复制代码 代码如下: function GetCustomer_Ashx() { $.getJSON( "webdata/Json_1.ashx", function(data) { var tt = ""; $.each(data, function(k, v) { tt += k + ":" + v + "<br/>"; }) $("#divmessage").html(tt); }); } ·通过getJSON向ashx请求数据。返回的数据为JSON对象。 (二)ashx文件,但返回的是实体集合 复制代码 代码如下: Customer customer = new Customer { Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"}; Customer customer2 = new Customer { Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" }; List<Customer> _list = new List<Customer>(); _list.Add(customer); _list.Add(customer2); string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list); context.Response.Write(strJson); 复制代码 代码如下: function GetCustomerList() { $.getJSON( "webdata/Json_1.ashx", function(data) { var tt = ""; $.each(data, function(k, v) { $.each(v,function(kk, vv) { tt += kk + ":" + vv + "<br/>"; }); }); $("#divmessage").html(tt); }); } (三)请求aspx文件 ·cs文件 复制代码 代码如下: protected void Page_Load(object sender, EventArgs e) { Customer customer = new Customer { Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" }; string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer); Response.Write(strJson); } ·Aspx文件 <%@ Page Language="C#" AutoEventWireup="true" CodeFile="Json_1.aspx.cs" Inherits="webdata_Json_1" %> 前台文件只保留Page声明,其它全部删除。 ·js文件 复制代码 代码如下: function GetCustomer_Aspx() { $.getJSON( "webdata/Json_1.aspx", function(data) { var tt = ""; $.each(data, function(k, v) { tt += k + ":" + v + "<br/>"; }) $("#divmessage").html(tt); }); } 这个部分与请求ashx文件时相同。 请求实体集合时,与ashx时相同,这里不做重复。 (四)请求文本文件 文本文件提供json字符串,由$.getJSON得到json对象。 ·文本文件 {Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"} 文本文件提供json串,对于json的组成格式,请参见其它文档。对于这一实体json,会被忽略空行与空格。 复制代码 代码如下: function GetCustomer_txt() { $.getJSON( "webdata/Json_1.txt", function(data) { var tt = ""; $.each(data, function(k, v) { tt += k + ":" + v + "<br/>"; }) $("#divmessage").html(tt); }); } 解析的方法与其它的相同。 对于多行的如下: 文本: 复制代码 代码如下: [ {Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}, {Unid:2,CustomerName:"吴用",Memo:"天机星",Other:"智多星"} ] 解析: 复制代码 代码如下: function GetCustomer_TxtList() { $.getJSON( "webdata/Json_1.txt", function(data) { var tt = ""; $.each(data, function(k, v) { $.each(v, function(kk, vv) { tt += kk + ":" + vv + "<br/>"; }); }); $("#divmessage").html(tt); }); } 与其它的相同。 (五)带参数ajax请求 以ashx为例子,按客户id来请求客户。 ·Ashx文件 复制代码 代码如下: if(context.Request["iUnid"]==null) return; context.Response.ContentType = "text/plain"; Customer customer = new Customer { Unid = 1, CustomerName = "宋江", Memo = "天魁星", Other = "黑三郎" }; Customer customer2 = new Customer { Unid = 2, CustomerName = "吴用", Memo = "天机星", Other = "智多星" }; List<Customer> _list = new List<Customer>(); _list.Add(customer); _list.Add(customer2); int iCustomerId =Convert.ToInt32(context.Request["iUnid"]); var cus = from q in _list where q.Unid == iCustomerId select q; string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(cus); context.Response.Write(strJson); ·ajax请求 复制代码 代码如下: function GetCustomer_AshxWithPara() { $.getJSON( "webdata/Json_2.ashx", { iUnid: 1 }, function(data) { var tt = ""; $.each(data, function(k, v) { $.each(v, function(kk, vv) { tt += kk + ":" + vv + "<br/>"; }); }); $("#divmessage").html(tt); }); } 其中参数也是以k/v对格式发出。请求返回的可以看到:在服务端以Customer列表集合返回。 在jquery库中,getJSON其实是调用的:Query.get(url, data, callback, "json") 这点很重要。

  推荐阅读

  扩展jquery实现客户端表格的分页、排序功能代码

下载代码和示例:jqueryPaging.rar 使用方法如下: 复制代码 代码如下: <script language="javascript" type="text/javascript"> $("#myTable").tablePaging({ pageSize: 5, sorting: true, sortSelector: ".js-Or>>>详细阅读


本文标题:Jquery中getJSON在asp.net中的使用说明

地址:http://www.17bianji.com/kaifa2/JS/24812.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)