【www.gdgbn.com--php入门】

asp教程.net ajax json入门教程与详细实例json简介

  在正式讨论json格式之前,首先让我们简要回忆一下xml。xml是“可扩展的标记语言”的简称,它提供了定义web中一系列数据传输协议的方式,是文本型的,被人们誉为“完全开发internet和web潜力的理想方式”。

  那么,为什么asp.net教程 ajax中还要引入json呢?还是让我们先来观察一下例子吧。比如当前web页面将从后台载入一些通讯录的信息,这些信息如果写成xml,可能是如下形式:


   
        michael
        17bity@gmail.com
        http://www.111cn.net
   

   
        john
        john@gmail.com
        http://www.111cn.net
   

   
        peggy
        peggy@gmail.com
        http://www.aimeige.com.cn
   

  

而写成json形式,则会是:

[
 friend: {
   name:"michael",
   email:"17bity@gmail.com",
   homepage:"http://www.111cn.net"
 },
 friend: {
   name:"john",
   email:"john@gmail.com",
   homepage:"http://www.111cn.net"
 },
 friend: {
   name:"peggy",
   email:"peggy@gmail.com",
   homepage:"http://mb.111cn.net"
 }
]


 

use类

 

using system;
using system.collections.generic;
using system.linq;
using system.web;
///
///user 的摘要说明
///

public class users
{
string name;
public string name
{
get { return name; }
set { name = value; }
}
string age;
public string age
{
get { return age; }
set { age = value; }
}
}

js代码

<script type="text/jscript">
function callserver() {
//json发送对象
serversum("{name:"linyijia",age:"21"}");
}
function getregister(rg, contex) {
document.getelementbyid("txtregister").value=rg;
}
</script>

asp.net

 

using system;
using system.collections.generic;
using system.linq;
using system.web;
using system.web.ui;
using system.web.ui.webcontrols;
using system.web.script.serialization;
public partial class _default : system.web.ui.page ,icallbackeventhandler
{
users u = null;
protected void page_load(object sender, eventargs e)
{
//回调getregister方法
string callbackfun = page.clientscript.getcallbackeventreference(this,"arg","getregister","context");
//创建serversum方法,在客户端调用的时候就,会回调getregister方法,把参数传给raisecallbackevent(string eventargument ),最后通过
//getcallbackresult()方法把返回值传给客户端
string registerfun = string.format("function serversum(arg,context){{{0};}}",callbackfun);
page.clientscript.registerclientscriptblock(this.gettype(),"serversum",registerfun,true);
}
string mssage = string.empty;
#region icallbackeventhandler 成员
public string getcallbackresult()
{
return "服务器:你好,你的用户名为:" + u.name + "你的年龄为" + u.age;
}
public void raisecallbackevent(string eventargument)
{
网页特效serializer js = new javascriptserializer();
u =js.deserialize(eventargument);
}
#endregion
}

本文来源:http://www.gdgbn.com/jiaocheng/27810/