天天看点

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

<a href="http://webabcd.blog.51cto.com/1787395/342175" target="_blank">索引页]</a>

<a href="http://down.51cto.com/data/100162" target="_blank">[源码下载]</a>

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

介绍

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

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

                string s = @"&lt;?xml version=""1.0"" encoding=""utf-8""?&gt; 

                        &lt;root&gt; 

                                &lt;person name=""webabcd"" age=""27""&gt; 

                                        &lt;salary&gt;1000&lt;/salary&gt; 

                                &lt;/person&gt; 

                                &lt;person name=""webabcdefg"" age=""37""&gt; 

                                        &lt;salary&gt;2000&lt;/salary&gt; 

                                &lt;person name=""webabcdefghijklmn"" age=""47""&gt; 

                                        &lt;salary&gt;3000&lt;/salary&gt; 

                        &lt;/root&gt;"; 

                Response.ContentType = "text/xml"; 

JSON.aspx.cs

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

                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(); 

/// &lt;summary&gt; 

/// Person类 

/// &lt;/summary&gt; 

[System.Runtime.Serialization.DataContract] 

public class Person 

        private string _name; 

        /// &lt;summary&gt; 

        /// 姓名 

        /// &lt;/summary&gt; 

        [System.Runtime.Serialization.DataMember] 

        public string Name 

                get { return _name; } 

                set { _name = value; } 

        private int _age; 

        /// 年龄 

        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&amp;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() 

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

                        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 

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

                        l.addEventListener(Event.COMPLETE, jsonCompleteHandler); 

                function jsonCompleteHandler(event:Event):void 

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

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

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

OK

     本文转自webabcd 51CTO博客,原文链接:http://blog.51cto.com/webabcd/342184,如需转载请自行联系原作者