您的位置:首页 > 其它

实习日志(9):FLEX页面间传值

2012-10-20 13:12 162 查看
昨天周五,决定放松一下没有写日志,但是进度还是要记录的,就今天补上吧。

之前在用户登录之后直接跳转到登录成功页面,没有将登录用户的信息传递过去,因此在后面的板报发布操作中拿不到发布人的信息,为了改进这一点需要考虑FLEX页面间传值的问题。

本来想像JSP中一样将登录人的信息放在session中,但是具体实现起来,在接收页获取的session值总是为空。无奈使用了别的方法。

因为下面这个方法最便于理解了,因此先使用了这个方法,但是得到的一直是空值,目前不晓得问题出在哪,但是先记录下来吧,也许以后可以用。

发送页:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
private function onclik():void{
navigateToURL(new URLRequest("requst_test.swf?a="+Textl.text), "quote");
}
</mx:Script>
<mx:Button x="186" y="202" label="Button" click="onclik();"/>
<mx:TextInput x="141" y="143" id="Textl"/>
</mx:Application>

接收页:

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init();"    >
<mx:Script>
import mx.controls.Alert;
private function init():void{
Alert.show(this.parameters.a);
}
</mx:Script>
</mx:Application>

最后参考了这个博客,/article/5359293.html

用其中的方法二成功的实现了FLEX的页面间传值~~。。

在用此方法时,我在接收页定义了一个方法用于拿到传过来的值:

//定义一个方法,拿到传过来的name值

public function getName():String

{

var share:SharedObject=SharedObject.getLocal("cookie","/");

var userName:String=share.data.name;

share.clear(); //被清除了,再次使用得到的值为空

return userName;

}

但是在使用时要注意,不能在用到用户名的地方就调用一次此方法,因此方法中有share.clear();这句,第一次之后再调用只能得到空值。

解决方法:定义一个变量a,a=getName(),多次使用变量即可。

最后对板报的生效时间和失效时间的选择进行了处理,即生效时间不能晚于当前时间,失效时间不能晚于生效时间。

参考博客:/article/9355367.html

运行效果:



只提取生效时间和失效时间之内板报的SQL语句:

select * from content where getdate() <=[finish] and getdate()>=[start]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: