欢迎您访问我爱IT技术网,今天小编为你分享的编程技术是:【flash菜单与asp.net进行交互】,下面是详细的分享!
flash菜单与asp.net进行交互
最近想做一个flash的菜单与asp.net进行交互. 参考了很多网上的资料,最后有以下心得,写出来记一下。
一、动态加载菜单
菜单的内容如下(menu.xml):
如果动态加载呢?
1)把以menu.xml文件放到网站的根目录之下,然后在flash的as中写如下的as脚本.
| mymenu=new XML(); mymenu.load("menu.xml"); mymenu.ignoreWhite=true; mymenu.onLoad=findThefild; var passItOn=""; menu_text=""; var menu_array=new Array(); var submenu_array=new Array(); var menuurl_array=new Array(); var submenuurl_array=new Array(); var tempArray:Array=new Array(); |
这样就可以把菜单加载到flash中,至于如何显示,就自己进行处理了.
二、 给菜单中添加动态参数.
我们很多时间使用的url都是如EditRole.aspx?rolename=role1之类,此时应该如何把"?rolename=role1"动态的传给flash呢.
我试验了很多方法,最后的结果如下.
1) 说一下有了flash之后的asp.net页面的生成顺序.例如我的页面是editrole.aspx在此页面中有一个flash菜单.
editrole.aspx-->flash-->与flash通信的页面.
2) 如何把动态参数传给flash呢,我使用的是xml让asp.net与flash进行通信.
3) 那么动态参数如何得到呢?这就要借用第三个页面,也就是专门用来与flash进行交互的页面.而不能使用所点击的菜单的页面.
4) 如上在第一个打开的页面如EditRole.aspx?rolename=role1中把"?rolename=role1"保存到cookie或缓存或seession中,
然后则专门与flash进行通信的页面把"?rolename=role1"编写成xml,然后reponse.wirte(参数xml字符串),传给flash.
代码:
|
1.editrole.aspx页面中的代码.
public void WirteCookie() //加密程序提供程序的名称 //写cookies Response.Cookies["UserSettings"]["ur"]=this.UserRole;
} //与flash进行交互的页面. public void ProcessRequest(HttpContext context) string symmProvider="DESCryptoServiceProvider";
public string GetUID(HttpContext context) if (context.Request.Cookies["UserSettings"]["uid"] !=null) } } |
| //flash中as代码
mc.btn.onRelease=function() loginXml=new XML(); // 注释1
xmlRepley=new XML(); // 注释11
if (xmlRepley.firstChild.firstChild.attributes.right=="1") { // 注释14 } } |
三、加载动态菜单项
以上的菜单都是flash去读xml菜单文件,那么如果我们有多个不同类型的菜单,则要做多个不同的flash,
而这几个不财的flash中,如果菜单样式一样,只不过是菜单的内容不一样,那么实际上是去读不同的xml菜单文件.
那么有没有办法去实现有程序去给定一个flash菜单的xml数据源呢?
我试验了很多方法,最后的结果如下.
1)说一下有了flash之后的asp.net页面的生成顺序.例如我的页面是editrole.aspx在此页面中有一个flash菜单.
editrole.aspx-->flash-->与flash通信的页面.
2)如何把xml菜单传给flash呢,我使用的是xml让asp.net与flash进行通信.
代码
1)在flash的as中写如下的as脚本,得到xml文件菜单.
|
mymenu=new XML(); |
2)在主角色页面如showRoleMenu.aspx页面中写如下代码
| protected void Page_Load(object sender, EventArgs e) { Response.Cookies["UserSettings"]["ur"]="r"; //新页面要打开的菜单. Response.Cookies["UserSettings"].Expires=DateTime.Now.AddHours(1); } |
在主用户页面如showUserMenu.aspx页面中写如下代码
|
protected void Page_Load(object sender, EventArgs e) } |
3)在SendXmlMenu.ashx中写以下代码进行xml菜单的传给flash.
| [WebService(Namespace="http://tempuri.org/")] [WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)] public class SendXmlMenu : IHttpHandler { public void ProcessRequest(HttpContext context) } } } public string GetUserRole(HttpContext context) if (context.Request.Cookies["UserSettings"]["ur"] !=null) } } public bool IsReusable |
以上所分享的是关于flash菜单与asp.net进行交互,下面是编辑为你推荐的有价值的用户互动:
相关问题:asp.net和flash as3怎么交互的?
答:要什么接口? 直接 用URLLoader 配合URLRquest 来发送请求到asp.net 。看 列子: 新建一个fla按f9进入编界面: //这里新建一个请求对象,这里面的URL看具体而定。 var url:URLRequest=new URLRequest("http://localhost:4175/WebSite1/index.asp... >>详细
相关问题:在asp.net中使用flash菜单需要学些什么知识?
答:想自己做按钮要学的代码是有限的,相当容易上手。 打开FLASH--菜单中的==》插入=》新建元件=》新建按钮 进入一个画面。一共有四郑第一帧所显示的就是在常态下看到的画面,第二帧显示的就是当鼠标放上去时候的画面,第三帧显示的是按下鼠标... >>详细
相关问题:flash 和 asp.net 参数传递
答:用asp.net动态生成HTML来给flash传递值,具体3种方法1。URL传值, 在flash的地址后面接query string 2.FlashVars 传值,例子 3。js传值例子window.document.VskyDemo.SetVariable("uid", 12); >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
