在Flash中用三种方式显示ASP.NET返回的值

发表于:2008-04-08来源:作者:点击数: 标签:
——此文章摘自《Flash与后台:ASP/ASP.NET/ PHP / Java Script/Delphi总动员》定价:52元 特价:39元 购买 类似于前面的例子,我们仍然用一个ComboBox组件来选择读取方式,用一个TextArea组件来显示结果。 首先我们用dataProvider给ComboBox填充文字和初始值
 ——此文章摘自《Flash与后台:ASP/ASP.NET/PHP/Java Script/Delphi总动员》定价:52元 特价:39元 购买>>

    类似于前面的例子,我们仍然用一个ComboBox组件来选择读取方式,用一个TextArea组件来显示结果。

    首先我们用dataProvider给ComboBox填充文字和初始值,最后给它增加监听器,使之一旦改变,switch函数就执行判断,并执行相应函数。代码如下:
    //声明myComboBox为一个新的ComboBox组件
    var myComboBox:mx.controls.ComboBox;
    //声明myTextArea为一个新的TextArea组件
    var myTextArea:mx.controls.TextArea;
    //给myComboBox增加数据源
    myComboBox.dataProvider = [{data:0, label:"点击选择"}, {data:1, label: "loadVariables方式"}, {data:2, label: "loadVars方式"}, {data:3, label: "XML方式"}];
    /*---------------------------------------------------------------------------------------------------------------------------------

    为myComboBox组件增加监听事件,从这你应该看出第一章学习Flash监听机制的好处。Switch语句被用在Flash里判定myComboBox组件变化后的值:如果值为1,则用 loadVariables方法,如果值为2,则用loadVars方法,如果值为3则用XML.load方法 。

    --------------------------------------------------------------------------------------------------------------------------------*/
    //为myComboBox定义监听函数
    var listenerObject:Object = new Object();
    //当myComboBox改变选项时
    listenerObject.change = function(eventObject:Object) {
           //选择comboBox的值
        switch(eventObject.target.value){
                  //如果是1,执行firstMethod方法
                  case 1: firstMethod();break;
                  //如果是2,执行secondMethod方法
                  case 2: secondMethod();break;
                  //如果是3,执行thirdMethod方法
                  case 3: thirdMethod();break;
                  //默认情况什么都不做
                  default:0;break;
           }
    };
    //为myComboBox增加监听函数
    myComboBox.addEventListener("change", listenerObject);

    /*-----------------------------------------------------------------------------------------------------------------------------

    由于loadVariables没有onLoad触发事件,所以我们只能不停的利用setInterval一次次的使用checkIt函数检测,一旦读入的_root.theValue值不为空,才删除setInterval,显示读到的值。

    ------------------------------------------------------------------------------------------------------------------------------*/

    function firstMethod():Void{
           loadVariables("load.aspx?myMethod=loadvariables",_root, "GET");
           function checkIt() {
        if (_root.theValue == undefined) {
        myTextArea.text = "Loading... ";
        } else {
        myTextArea.text = _root.theValue;
        clearInterval(myInterval);
     }
    }
    var myInterval:Number = setInterval(checkIt, 100);
    }
    //定义secondMethod函数

原文转自:http://www.ltesting.net