本节我们将讲解用Flash与ASP. NET交互的基本知识。首先我们在“解决方案资源管理器”面板内的地球标识上点右键,选择“填加新项”,在弹出的命名选项卡中,我们给页面命名为 load.aspx,同上节一样,填加之后点击页面左边的+号,即可展开其逻辑代码load.aspx.cs。进入load.aspx的编辑界面,在左下角选择“源”的编辑方式。把除第一句以外的所有代码都删除,第一句修改如下:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="load.aspx.cs" Inherits="load" CodePage="65001"%>
解释一下这句代码,在ASP章已经学过,一个完整的ASP页包含若干“声明”:文档类型声明、编码声明等等。本句就是ASP.NET中的声明:“<%” 表示HTML页面中ASP.NET代码的开始“%>”表示HTML页面中ASP.NET代码的结束。其他声明的解释如下表:
ASPX页声明
解释
@Page Language="C#"
表示页面后台语言是C#
AutoEventWireup="true"
绑定事件功能开启(可以用”Page_Init”和”Page_Load”事件)
CodeFile="load.aspx.cs"
逻辑代码是load.aspx.cs
Inherits="load"
引用类load
CodePage="65001"
编码方式UTF-8
由于我们通过XML和Flash交互,所以我们删除了load.aspx中所有的HTML代码,让逻辑代码包办一切输出行为。进入逻辑代码load.aspx.cs,并开始构造思路:我们想让Flash用loadVariables,LoadVars.load和XML.load向load.aspx提出请求,利用myMethod这个GET参数,作为不同请求的标识。load.aspx把参数值送交逻辑层分析选择,最后由逻辑层负责返回相应的结果:
1.如果myMethod值为空,则load.aspx返回字符串:请求为空。
2.如果myMethod值为loadvariables,则load.aspx返回字符串:theValue=这个方式是loadVariables!
3.如果myMethod值为loadvars,则load.aspx返回字符串:“theMethod=这个方式是loadVars&theData=利用字符串Flash与ASP.NET通信”。
4.如果myMethod值为xml,则返回一个XML文档:“<?xml version='1.0' encoding='utf-8'?><data method='这个方式是xml'>利用XML,Flash与ASP.net通信</data>”。
看过上面的思路分析,学过程序设计的读者几乎都会选择switch语句:这种分支选择问题,switch语句最为方便,思路也最清晰。下面是逻辑代码:
/*----------------------------------------------------------------------
以下诸句表示的是导入命名空间,每个页面被创建时,Visual Studio软件自动为我们创建的,如果我们还需要处理其他类的实例,可以导入其他命名空间
-----------------------------*/
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 load : System.Web.UI.Page
{
//你应该记得load.aspx中引用的是load类,在此处我们来定义它
protected void Page_Load(object sender, EventArgs e)