flash菜单与asp.net进行交互(2)_.Net教程

编辑Tag赚U币
教程Tag:暂无Tag,欢迎添加,赚取U币!

推荐:ASP.NET2.0MasterPage技巧总结
好久没有更新博客了,想了想写一篇总结一下关于MasterPage的小技巧,都是自己在实际工作中遇到问题->解决问题发现,有更好的方法大家可直接指出。 1、关于MasterPage和Frameset的使用:网

//flash中as代码


//-----------------------------------------------------------
//鼠标点击菜单时
//-----------------------------------------------------------
function itemEvent(mc:MovieClip,url:String)
{

mc.btn.onRelease = function()
{

loginXml = new XML(); // 注释1
loginElement = loginXml.createElement("LOGIN"); // 注释2
// name node
nameElement = loginXml.createElement("USERNAME"); // 注释3
nameNode = loginXml.createTextNode("name"); // 注释4
nameNode.nodeValue = _root.username; // 注释5
nameElement.appendChild(nameNode); // 注释6
// pwd node
pwdElement = loginXml.createElement("PWD"); // 注释7
pwdNode = loginXml.createTextNode("pwd");
pwdNode.nodeValue = _root.pwd;
pwdElement.appendChild(pwdNode);
loginElement.appendChild(nameElement); // 注释8
loginElement.appendChild(pwdElement); // 注释9


loginXml.appendChild(loginElement); // 注释10

xmlRepley = new XML(); // 注释11


xmlRepley.onLoad = onLoginReply; // 注释12
function onLoginReply (success) {
if (success) { // 注释13

if (xmlRepley.firstChild.firstChild.attributes.right == "1") { // 注释14
getURL(url xmlRepley.firstChild.firstChild.attributes.urlParam, "_self");

}
else
{
getURL(url "?q=错误", "_self");
}
}
}
loginXml.sendAndLoad("XmlRepley.ashx", xmlRepley); // 注释15

}
}



三、加载动态菜单项

以上的菜单都是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();
mymenu.load("SendXmlMenu.ashx");
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();


2)在主角色页面如showRoleMenu.aspx页面中写如下代码
protected void Page_Load(object sender, EventArgs e)
{
Response.Cookies["UserSettings"]["ur"] = "r"; //新页面要打开的菜单.
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddHours(1);

}

分享:编程高手 ASP.NET 状态管理
一般而言,HTTP协议是非状态服务,它不保存任何用户请求信息。直至NetScape开始使用Cookies来保存用户请求信息,Web应用程序有了极大的发展。现在ASP.NET程序员可以使用很多种方式来保存用户请

来源:模板无忧//所属分类:.Net教程/更新时间:2008-08-22
相关.Net教程