Jquery中g(shù)etJSON在asp.net中的使用說明
更新時(shí)間:2011年03月10日 12:23:23 作者:
Jquery中g(shù)etJSON在asp.net中的使用說明,需要的朋友可以參考下。
準(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);
});
}
·通過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來請(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庫中,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);
});
}
·通過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來請(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庫中,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)文章
Jquery對(duì)新插入的節(jié)點(diǎn) 綁定Click事件失效的解決方法
下面小編就為大家?guī)硪黄狫query對(duì)新插入的節(jié)點(diǎn) 綁定Click事件失效的解決方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-06-06基于jQuery和CSS3制作數(shù)字時(shí)鐘附源碼下載(jquery篇)
本篇文章基于jquery讓數(shù)字時(shí)鐘真正的跑起來,實(shí)現(xiàn)一個(gè)帶有日期和星期的網(wǎng)頁版數(shù)字時(shí)鐘,效果非常逼真,感興趣的朋友一起看看吧2015-11-11jquery實(shí)現(xiàn)標(biāo)簽上移、下移、置頂
這篇文章主要介紹了jquery實(shí)現(xiàn)標(biāo)簽上移、下移、置頂?shù)南嚓P(guān)資料,并附上示例,非常實(shí)用,需要的朋友可以參考下2015-04-04jquery實(shí)現(xiàn)刷新隨機(jī)變化樣式特效(tag標(biāo)簽樣式)
本文主要介紹了tag標(biāo)簽隨機(jī)多彩變化的超鏈接樣式,使用JQ+DIV+CSS實(shí)現(xiàn)刷新隨機(jī)變化樣式特效。具有很好的參考價(jià)值,下面跟著小編一起來看下吧2017-02-02jQuery制作仿Mac Lion OS滾動(dòng)條效果
本文是通過nanoscrollerjs簡(jiǎn)單實(shí)現(xiàn)Mac OS 系統(tǒng)滾動(dòng)條效果特效,以及本插件的使用方法和參數(shù),非常不錯(cuò),這里推薦給大家。2015-02-02jQuery Validate表單驗(yàn)證深入學(xué)習(xí)
這篇文章主要介紹了jQuery Validate表單驗(yàn)證入門知識(shí),該插件捆綁了一套有用的驗(yàn)證方法,包括 URL 和電子郵件驗(yàn)證,同時(shí)提供了一個(gè)用來編寫用戶自定義方法的 API,感興趣的小伙伴們可以參考一下2015-12-12