Jquery中g(shù)etJSON在asp.net中的使用說(shuō)明
更新時(shí)間:2011年03月10日 12:23:23 作者:
Jquery中g(shù)etJSON在asp.net中的使用說(shuō)明,需要的朋友可以參考下。
準(zhǔn)備工作
·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);
});
}
·通過(guò)getJSON向ashx請(qǐng)求數(shù)據(jù)。返回的數(shù)據(jù)為JSON對(duì)象。
(二)ashx文件,但返回的是實(shí)體集合
Customer customer = new Customer
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
Customer customer2 = new Customer
{ Unid = 2, CustomerName = "吳用", Memo = "天機(jī)星", 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);
});
}
(三)請(qǐng)求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" %>
前臺(tái)文件只保留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);
});
}
這個(gè)部分與請(qǐng)求ashx文件時(shí)相同。
請(qǐng)求實(shí)體集合時(shí),與ashx時(shí)相同,這里不做重復(fù)。
(四)請(qǐng)求文本文件
文本文件提供json字符串,由$.getJSON得到j(luò)son對(duì)象。
·文本文件
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}
文本文件提供json串,對(duì)于json的組成格式,請(qǐng)參見其它文檔。對(duì)于這一實(shí)體json,會(huì)被忽略空行與空格。
function GetCustomer_txt() {
$.getJSON(
"webdata/Json_1.txt",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
解析的方法與其它的相同。
對(duì)于多行的如下:
文本:
[
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"},
{Unid:2,CustomerName:"吳用",Memo:"天機(jī)星",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);
});
}
與其它的相同。
(五)帶參數(shù)ajax請(qǐng)求
以ashx為例子,按客戶id來(lái)請(qǐng)求客戶。
·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 = "天機(jī)星", 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請(qǐng)求
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);
});
}
其中參數(shù)也是以k/v對(duì)格式發(fā)出。請(qǐng)求返回的可以看到:在服務(wù)端以Customer列表集合返回。
在jquery庫(kù)中,getJSON其實(shí)是調(diào)用的:Query.get(url, data, callback, "json")
這點(diǎn)很重要。
·Customer類
復(fù)制代碼 代碼如下:
public class Customer
{
public int Unid { get; set; }
public string CustomerName { get; set; }
public string Memo { get; set; }
public string Other { get; set; }
}
(一)ashx
復(fù)制代碼 代碼如下:
Customer customer = new Customer
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(customer);
context.Response.Write(strJson);
復(fù)制代碼 代碼如下:
function GetCustomer_Ashx() {
$.getJSON(
"webdata/Json_1.ashx",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
·通過(guò)getJSON向ashx請(qǐng)求數(shù)據(jù)。返回的數(shù)據(jù)為JSON對(duì)象。
(二)ashx文件,但返回的是實(shí)體集合
復(fù)制代碼 代碼如下:
Customer customer = new Customer
{ Unid=1,CustomerName="宋江",Memo="天魁星",Other="黑三郎"};
Customer customer2 = new Customer
{ Unid = 2, CustomerName = "吳用", Memo = "天機(jī)星", Other = "智多星" };
List<Customer> _list = new List<Customer>();
_list.Add(customer);
_list.Add(customer2);
string strJson = Newtonsoft.Json.JsonConvert.SerializeObject(_list);
context.Response.Write(strJson);
復(fù)制代碼 代碼如下:
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);
});
}
(三)請(qǐng)求aspx文件
·cs文件
復(fù)制代碼 代碼如下:
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" %>
前臺(tái)文件只保留Page聲明,其它全部刪除。
·js文件
復(fù)制代碼 代碼如下:
function GetCustomer_Aspx() {
$.getJSON(
"webdata/Json_1.aspx",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
這個(gè)部分與請(qǐng)求ashx文件時(shí)相同。
請(qǐng)求實(shí)體集合時(shí),與ashx時(shí)相同,這里不做重復(fù)。
(四)請(qǐng)求文本文件
文本文件提供json字符串,由$.getJSON得到j(luò)son對(duì)象。
·文本文件
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"}
文本文件提供json串,對(duì)于json的組成格式,請(qǐng)參見其它文檔。對(duì)于這一實(shí)體json,會(huì)被忽略空行與空格。
復(fù)制代碼 代碼如下:
function GetCustomer_txt() {
$.getJSON(
"webdata/Json_1.txt",
function(data) {
var tt = "";
$.each(data, function(k, v) {
tt += k + ":" + v + "<br/>";
})
$("#divmessage").html(tt);
});
}
解析的方法與其它的相同。
對(duì)于多行的如下:
文本:
復(fù)制代碼 代碼如下:
[
{Unid:1,CustomerName:"宋江",Memo:"天魁星",Other:"黑三郎"},
{Unid:2,CustomerName:"吳用",Memo:"天機(jī)星",Other:"智多星"}
]
解析:
復(fù)制代碼 代碼如下:
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);
});
}
與其它的相同。
(五)帶參數(shù)ajax請(qǐng)求
以ashx為例子,按客戶id來(lái)請(qǐng)求客戶。
·Ashx文件
復(fù)制代碼 代碼如下:
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 = "天機(jī)星", 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請(qǐng)求
復(fù)制代碼 代碼如下:
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);
});
}
其中參數(shù)也是以k/v對(duì)格式發(fā)出。請(qǐng)求返回的可以看到:在服務(wù)端以Customer列表集合返回。
在jquery庫(kù)中,getJSON其實(shí)是調(diào)用的:Query.get(url, data, callback, "json")
這點(diǎn)很重要。
您可能感興趣的文章:
- 使用jQuery向asp.net Mvc傳遞復(fù)雜json數(shù)據(jù)-ModelBinder篇
- 使用ASP.NET一般處理程序或WebService返回JSON的實(shí)現(xiàn)代碼
- asp.net(C#)解析Json的類代碼
- asp.net JSONHelper JSON幫助類
- Jquery 組合form元素為json格式,asp.net反序列化
- asp.net 2.0里也可以用JSON的使用方法
- asp.net+jquery Jsonp使用方法
- jQuery asp.net 用json格式返回自定義對(duì)象
- asp.net中各種類型的JSON格式化
- ASP.NET自帶對(duì)象JSON字符串與實(shí)體類的轉(zhuǎn)換
相關(guān)文章
鼠標(biāo)經(jīng)過(guò)出現(xiàn)氣泡框的簡(jiǎn)單實(shí)例
下面小編就為大家?guī)?lái)一篇鼠標(biāo)經(jīng)過(guò)出現(xiàn)氣泡框的簡(jiǎn)單實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03
jQuery創(chuàng)建DOM元素實(shí)例解析
這篇文章主要介紹了jQuery創(chuàng)建DOM元素的方法,實(shí)例分析了jQuery使用$直接創(chuàng)建DOM元素的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01
jquery實(shí)現(xiàn)圖片自動(dòng)輪播效果
這篇文章主要為大家詳細(xì)介紹了jquery實(shí)現(xiàn)圖片自動(dòng)輪播效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
jQuery實(shí)現(xiàn)統(tǒng)計(jì)復(fù)選框選中數(shù)量
這里給大家分享一段jQuery實(shí)現(xiàn)的統(tǒng)計(jì)復(fù)選框選中數(shù)量的代碼,非常的實(shí)用,有需要的小伙伴們請(qǐng)帶走!2014-11-11
jQuery+datatables插件實(shí)現(xiàn)ajax加載數(shù)據(jù)與增刪改查功能示例
這篇文章主要介紹了jQuery+datatables插件實(shí)現(xiàn)ajax加載數(shù)據(jù)與增刪改查功能,涉及jQuery結(jié)合datatables插件針對(duì)頁(yè)面表格實(shí)現(xiàn)數(shù)據(jù)加載及增刪改查等相關(guān)操作技巧,需要的朋友可以參考下2018-04-04
jquery mobile實(shí)現(xiàn)可折疊的導(dǎo)航按鈕
這篇文章主要為大家詳細(xì)介紹了jquery mobile實(shí)現(xiàn)可折疊的導(dǎo)航按鈕,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
jquery.cookie.js實(shí)現(xiàn)用戶登錄保存密碼功能的方法
這篇文章主要介紹了jquery.cookie.js實(shí)現(xiàn)用戶登錄保存密碼功能的方法,結(jié)合實(shí)例形式詳細(xì)分析了jquery.cookie.js插件操作cookie實(shí)現(xiàn)保存用戶登錄信息的相關(guān)技巧,需要的朋友可以參考下2016-04-04
jQuery在vs2008及js文件中的無(wú)智能提示的解決方法
我通過(guò)下面方法實(shí)現(xiàn)了jQuery在VS2008及js文件中的智能提示的,希望對(duì)朋友們有所幫助。2010-12-12

