zoukankan      html  css  js  c++  java
  • Flash+asp.net制作FLASH首页新闻发布


    在这首页新闻发布,会涉及到一些Flash与aspx文件之间接收和发送变量的基本原理。是动态Flash的基础。

    1、首先是在"图层1"(命名为"框架")上打好首页的新闻公布的框,这个是Flash的基础,我就不展开了,只要是框的样子便可。

    2、然后,新建"图层2"(命名为"变量框")添加两个用来显示内容的动态文本。变量名分别设为news和time。一个用来显示新闻的内容,一个用来显示发布的时间。

    3.新建一层action图层,此为本讲的重点,Flash动态交互后台的精髓,可以浓缩在此帧上,我会详细的讲解其中的action语句。

    4、在帧上加入下列action:

    mainnews = new LoadVars();//注1 
    mainnews.load("data.aspx");//注2
    mainnews.onLoad = function(success) {//注3
    if (success) {
    news
    = mainnews.dnews; //注4
    time = mainnews.dtime;
    }
    else {
    gotoAndPlay(
    "fail"); //注5
    }
    }



    注1:定义读取的函数
    注2:定义了flash去哪里取数据,因为flash不能自身去数据库去取数据,而是要通过这个aspx文件来取数据.所以,从数据库里取数据的工作,其实是由后台的aspx文件负责的。Flash只是把aspx从数据库取出来的资料“拿来”,放在自已身上已显示出来。这里我打个比方:数据库好比硬盘,aspx文件是CPU,Flash是显示器.当aspx文件从数据库里拿出资料,再交给flash来显示给大家看。
    注3:这个函数是实际的mainnews去读取data.aspx文件的行为。判断是否成功。
    注4:如果成功,即成功收到来自aspx的变量,把mainnews取来的dnews变量赋值给news变量,也是我们前面设置过的动态文本。其中dnews其实是aspx里的变量,是mainnews接收到的。
    注5:如果失败,即没有收到aspx给出的变量.去跳到帧标签为“fail”的部分。由于篇幅的关系。我也就不展开了。

    Flash部分就这样完成了.然后便是后台aspx去数据库取变量的过程了。
    这次我是用asp.net+access完成的,如果学过asp 或PHP的朋友可做适当的语法调整便可,因为原理是一样的。
    5、新建一个data.mdb文件,即access的数据库(汗!总觉得自已在骗稿费似的)
    创建一张名为main的表,添加字段"新闻"及字段"时间"。

    6、接下来就是aspx文件的部分了,代码如下:

     1 <%@ Page Language="C#" Debug="true"%>
     2 <%@Import NameSpace="System.Data"%>
     3 <%@Import NameSpace="System.Data.OleDb"%>
     4 <%
     5 string StrCon="Provider=Microsoft.Jet.OleDb.4.0;Data Source="+Server.MapPath("data.mdb");
     6 string strSQL="SELECT * FROM main order by 编号 desc";
     7 OleDbConnection MyConnection=new OleDbConnection(StrCon);
     8 OleDbCommand myCommand=new OleDbCommand(strSQL,MyConnection);
     9 OleDbDataReader myDataReader=null;
    10 myCommand.Connection.Open();
    11 myDataReader=myCommand.ExecuteReader();
    12 myDataReader.Read();
    13 Response.Write("dnews="+myDataReader["新闻"].ToString()); //注6
    14 Response.Write("&dtime="+myDataReader["更新时间"].ToString());
    15 myCommand.Connection.Close();
    16 %>




    注6:这段是一个很简单的读取数据库行为,学过asp.net应该都看的懂吧,会asp的朋友也应该不难理解。但aspx是怎么把取到的数据传给flash的呢?对!就是这句话,其实说穿了也很简单的。只不过在data.aspx上打出"dnews=****"。大家注意,"dnews"是不是很眼熟呢?其实它就是注4中"dnews",aspx把它打出来,flash自已去会来拿了。同理,dtime也是一样,不过在dtime前面要加一个"&"符号.因为它规定了,dtime是新的变量,如果第三个也是一样。其实就是变量间的分隔符。
    EN,首页的新闻就这样完成了。

    =========================================
    光光读新闻怎么行,总不能一直通过手工修改数据库来加新闻吧。下面来做个在线添加新闻的东东吧。

    1、还是打好框个输入文本,变量设为addnews.再加一个按钮

    1、还是打好框个输入文本,变量设为addnews.再加一个按钮

    2、添加一个动态文本,没"实例名称"为addresult,注意是实例名称而不是变量

    3、在"确定"按钮上做如下Action:

    on (release) {
    addn
    = new LoadVars(); //发送的变量
    load_var = new LoadVars();  //接收的变量
    addn.addnews = addnews; //注7
    addn.sendAndLoad("addnews.aspx",load_var,"self"); //注8
    load_var.onLoad = function(success) { //注9
    if (success) {
    addresult.text
    = "添加成功";
    }
    else{
    addresult.text
    = "添加失败";
    }
    }
    }




    注7:将addnews的变量赋值给add.addnews它会把addnews传给aspx文件。再通过aspx文件添加到数据库.
    注8:add.sendAndLoad,这是一个add的行为,作用是发送add.addnews的变量给"addnews.aspx"这个文件.接着,aspx会给出是否成功操作的讯号.将这个讯号反传给load_var.这是我们在aspx文件需要加入的,后面在aspx文件部份,我会详细讲一下。
    注9: load_var收取行为,如果添加成功就可收到讯号,addresult实例将会提示成功,反之提示失败。

    4、数据库不变,还是用刚才那个。新建add.aspx文件,做为添加新闻的工具。代码如下:

     1 <%@ Page Language="C#" Debug="true"%>
     2 <%@Import NameSpace="System.Data"%>
     3 <%@Import NameSpace="System.Data.OleDb"%>
     4 <%
     5 OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ Server.MapPath("data.mdb"));
     6 OleDbCommand myCommand = new OleDbCommand("insert into main (新闻,更新时间) values (" + Request ["addnews"+ "" + DateTime.Now.ToString() + ")" , myConnection); //注10
     7 myCommand.Connection.Open();
     8 myCommand.ExecuteNonQuery(); 
     9 myCommand.Connection.Close();
    10 Response.Write("res=ok");  //注11
    11 %>
    12 



    注○10:也是一个简单的添加记录到mdb的aspx文件。关键在于Request ["addnews"],其实和aspx之间传递变量一样,通过Request函数aspx文件就可以接收到flash里addn.addnew的变量了。
    注11:在aspx打出res=ok,让flash接收,便其知道操作成功.

  • 相关阅读:
    OpenCVPython系列之相机校准
    matplotlib的使用——坐标轴设置部分
    nvcc fatal : Unsupported gpu architecture ‘compute_30‘
    ubuntu中aptget install 改用阿里云作为数据源
    OpenCVPython系列之稠密光流
    OpenCVPython系列之Camshift算法
    安装cudnn
    OpenCVPython系列之相机校准实践
    matplotlib的使用——legend图例的设置
    matplotlib的使用——picture in picture画中画的使用
  • 原文地址:https://www.cnblogs.com/liaojunbo/p/1181882.html
Copyright © 2011-2022 走看看