两个简单的问题!!

kkgogo 2009-08-11 09:24:30
请问:
1、我想用ViewStack来实现不同页面的切换。但我不想用按钮之类的触发。想在script中触发,我判断登录用户名正确,就自动跳到另一个Canvas。
2、接上个问题,我得到的用户名或类似session,怎么传到另一个Canvas?

谢谢各位。

另外:哪位兄弟用比例完整的例子能给我参考,请联系我,高分送!!
...全文
238 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
yutao_7871 2009-08-19
  • 打赏
  • 举报
回复
怎么还没有结帖呀
The-Venus 2009-08-13
  • 打赏
  • 举报
回复
楼主是不是要这个效果:

<?xml version="1.0"?>
<!-- Simple example to demonstrate the ViewStack layout container. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
<mx:Script>
<![CDATA[
private function loginHandle():void{
if("jinxinxin1314"==setUserName.text &&"1314"==setPassword.text ){
panel1.visible=false;
myViewStack.visible=true;
getUserName.text=setUserName.text;
getPassword.text=setPassword.text;
}
}

]]>
</mx:Script>
<mx:Panel x="311.5" y="127" width="401" height="277" layout="absolute" title="用户登录" fontSize="12" id="panel1" horizontalAlign="left" verticalAlign="top" borderColor="#000000" highlightAlphas="1">
<mx:Label x="66" y="52" text="用户名" fontSize="15" width="54" height="26"/>
<mx:Label x="66" y="96" text="密 码" fontSize="15" width="54" height="26"/>
<mx:TextInput x="146" y="50" id="setUserName" fontSize="15"/>
<mx:TextInput x="146" y="94" id="setPassword" displayAsPassword="true" fontSize="15"/>
<mx:Button x="106" y="192" label="登录" id="btnLogin" fontSize="15" click="loginHandle()"/>


</mx:Panel>
<mx:ViewStack x="66" y="52" id="myViewStack" width="500" height="200" borderStyle="solid" visible="false">

<mx:Canvas id="cas" backgroundColor="#FFFFCC" label="canvas页面" width="100%" height="100%">
<mx:Label x="66" y="52" text="用户名" fontSize="15" width="54" height="26"/>
<mx:Label x="66" y="96" text="密 码" fontSize="15" width="54" height="26"/>
<mx:Label x="146" y="50" id="getUserName" fontSize="15"/>
<mx:Label x="146" y="94" id="getPassword" fontSize="15"/>
</mx:Canvas>

</mx:ViewStack>



</mx:Application>
zhuzhi 2009-08-13
  • 打赏
  • 举报
回复
用个全局的登陆验证的标识,成功设置为true,其他地方用这个验证。script里面也可以调用的。
fw176170847 2009-08-13
  • 打赏
  • 举报
回复
1.用戶登錄成功後:將用戶名以及各種權限屬性寫入單例(相當於跨頁面全局靜態變量了)
這樣所有的頁面都可以拿到用戶名

不過我的用戶登錄是寫成一個state的,登錄成功後轉到主state,這樣好像方便點
「已注销」 2009-08-13
  • 打赏
  • 举报
回复
谢谢。马上结贴
xingjunli 2009-08-13
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 yutao_7871 的回复:]
用SharedObject进行用户信息的保存,即可以每次读取也可以保存在一个全局变量。
[/Quote]
SharedObject有点类似cookies又称Flash cookies 用于进行本地持久化的,数据是放在客户端口硬盘上的,看起来需要做增加,删除,更新,保存等IO操作还是比较复杂的
xingjunli 2009-08-13
  • 打赏
  • 举报
回复
楼主主要是想同浏览器进行交互,这里介绍两种方法:
1、使用FlashVars,直接在HTML里面修改<object> 和<embed>标签来实现:
<object classID = "clsid.....">
<param name="FlashVars" values="param1=aaa¶m2=2¶m3=3" /> //加入参数
<embed src="aaaa.swf" FlashValues="param1=1¶m2=2¶m3=3"> //加入参数
</embed>
</object>

Flex As脚本:
private function getFlashParam():void
{
var parameters:object = Application.application.parameters;
var param1:String = parameters.param1;
var param2:int = parseInt(parameters.param2);
var param2:int = parseInt(parameters.param2);
...
}

2、使用BrowserManager解析URL:
url:http://localhost:8501/aaa/main.html#name=richard;pwd=123;isLogin=true

private function getUrlparam():void
{
var bm:IBrowserManager = BrowserManager.getInstance();
bm.init();
var o:object = URLUtil.stringToObject(bm.fragment);
var param1:String = o.name;
var param2:String = o.pwd;
var param2:String = o.isLogin;
}
当然你也可以使用HTTPService,WebService等方式同服务器进行交互,进行数据验证
yutao_7871 2009-08-13
  • 打赏
  • 举报
回复
用SharedObject进行用户信息的保存,即可以每次读取也可以保存在一个全局变量。
clocke 2009-08-12
  • 打赏
  • 举报
回复
如果要用来存登录的用户名和密码,建议用单一实例类,这样整个FLEX程序各个组件都能够访问到这个用户名称和用户属性。
gundamff 2009-08-12
  • 打赏
  • 举报
回复
在另一个Canvas里定义个变量 添加get set方法,在得到用户名时直接赋值
「已注销」 2009-08-12
  • 打赏
  • 举报
回复
刚接触,不知用什么函数。麻烦写详细些。谢谢
kukulu00 2009-08-12
  • 打赏
  • 举报
回复
在得到用户名的同时切换iewStack即可,哪得哪切

4,327

社区成员

发帖
与我相关
我的任务
社区描述
多媒体/设计 Flex
社区管理员
  • Flex
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧