您的位置:首页 > 编程语言 > ASP

积少成多Flash ActionScript 3.0(3) - 基础之以文本形式、XML形式和JSON形式与ASP.NET通信

2009-04-19 18:41 429 查看
积少成多Flash ActionScript 3.0(3) - 基础之以文本形式、XML形式和JSON形式与ASP.NET通信

作者:webabcd

介绍
Flash ActionScript 3.0以文本形式与ASP.NET通信、以XML形式与ASP.NET通信和以JSON形式与ASP.NET通信

示例
Text.aspx.cs


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;




public partial class Text : System.Web.UI.Page






{


protected void Page_Load(object sender, EventArgs e)






{


string s = "name: " + Request.QueryString["name"] + "; age: " + Request.QueryString["age"];




Response.ClearContent();


Response.ContentType = "text/plain";


Response.Write(s);


Response.End();


}


}



Xml.aspx.cs


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;




public partial class Xml : System.Web.UI.Page






{


protected void Page_Load(object sender, EventArgs e)






{


string s = @"<?xml version=""1.0"" encoding=""utf-8""?>


<root>


<person name=""webabcd"" age=""27"">


<salary>1000</salary>


</person>


<person name=""webabcdefg"" age=""37"">


<salary>2000</salary>


</person>


<person name=""webabcdefghijklmn"" age=""47"">


<salary>3000</salary>


</person>


</root>";




Response.ClearContent();


Response.ContentType = "text/xml";


Response.Write(s);


Response.End();


}


}



JSON.aspx.cs


using System;


using System.Data;


using System.Configuration;


using System.Collections;


using System.Web;


using System.Web.Security;


using System.Web.UI;


using System.Web.UI.WebControls;


using System.Web.UI.WebControls.WebParts;


using System.Web.UI.HtmlControls;




public partial class JSON : System.Web.UI.Page






{


protected void Page_Load(object sender, EventArgs e)






{


Person person = new Person();


person.Name = "webabcd";


person.Age = 27;




HttpContext.Current.Response.ClearContent();


// HttpContext.Current.Response.ContentType = "application/json";


HttpContext.Current.Response.ContentType = "text/plain";




// 把person对象序列化成JSON


System.Runtime.Serialization.DataContractJsonSerializer dcjs = new System.Runtime.Serialization.DataContractJsonSerializer(person.GetType());


dcjs.WriteObject(HttpContext.Current.Response.OutputStream, person);




HttpContext.Current.Response.End();


}


}






/**//// <summary>


/// Person类


/// </summary>


[System.Runtime.Serialization.DataContract]


public class Person






{


private string _name;




/**//// <summary>


/// 姓名


/// </summary>


[System.Runtime.Serialization.DataMember]


public string Name






{




get

{ return _name; }




set

{ _name = value; }


}




private int _age;




/**//// <summary>


/// 年龄


/// </summary>


[System.Runtime.Serialization.DataMember]


public int Age






{




get

{ return _age; }




set

{ _age = value; }


}


}





Net.as


package






{


import flash.display.Sprite;


import flash.net.URLLoader;


import flash.net.URLRequest;


import flash.net.URLVariables;


import flash.net.URLRequestMethod;


import flash.events.Event;




// 对JSON的支持


import com.adobe.serialization.json.JSON;




public class Net extends Sprite






{


public function Net()






{


// 以文本形式与ASP.NET通信


showText();




// 以XML形式与ASP.NET通信


showXml();




// 以JSON形式与ASP.NET通信


showJSON();


}




// 以文本形式与ASP.NET通信


function showText():void






{


var v:URLVariables = new URLVariables("name=webabcd&age=27");


var r:URLRequest = new URLRequest();


r.url = "http://localhost:1343/Web/Text.aspx";


r.method = URLRequestMethod.GET;


r.data = v;




var l:URLLoader = new URLLoader();


l.load(r);


l.addEventListener(Event.COMPLETE, textCompleteHandler);


}




function textCompleteHandler(event:Event):void






{


var l:URLLoader = URLLoader(event.target);




trace(l.data);


// output: name: webabcd; age: 27


}




// 以XML形式与ASP.NET通信


function showXml():void






{


var v:URLVariables = new URLVariables()


var r:URLRequest = new URLRequest();


r.url = "http://localhost:1343/Web/Xml.aspx";


r.method = URLRequestMethod.GET;


r.data = v;






var l:URLLoader = new URLLoader();


l.load(r);


l.addEventListener(Event.COMPLETE, xmlCompleteHandler);


}




function xmlCompleteHandler(event:Event):void






{


var l:URLLoader = event.target as URLLoader;


var xml:XML = new XML(l.data);




for each(var v in xml.person)






{


trace("姓名:" + v.@name + ";年龄:" + v.@age + ";薪水:" + v.salary);


}


// output:


// 姓名:webabcd;年龄:27;薪水:1000


// 姓名:webabcdefg;年龄:37;薪水:2000


// 姓名:webabcdefghijklmn;年龄:47;薪水:30


}




// 以JSON形式与ASP.NET通信


function showJSON():void






{


var v:URLVariables = new URLVariables()


var r:URLRequest = new URLRequest();


r.url = "http://localhost:1343/Web/JSON.aspx";


r.method = URLRequestMethod.GET;


r.data = v;






var l:URLLoader = new URLLoader();


l.load(r);


l.addEventListener(Event.COMPLETE, jsonCompleteHandler);


}




function jsonCompleteHandler(event:Event):void






{


var l:URLLoader = event.target as URLLoader;




var v:* = JSON.decode(l.data);




trace("姓名:" + v.Name + ";年龄:" + v.Age);


// output: 姓名:webabcd;年龄:27


}


}


}

OK
[源码下载]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐