日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

flash菜單與asp.net進(jìn)行交互_.Net教程

編輯Tag賺U幣
教程Tag:暫無(wú)Tag,歡迎添加,賺取U幣!

推薦:ASP.NET2.0MasterPage技巧總結(jié)
好久沒(méi)有更新博客了,想了想寫(xiě)一篇總結(jié)一下關(guān)于MasterPage的小技巧,都是自己在實(shí)際工作中遇到問(wèn)題->解決問(wèn)題發(fā)現(xiàn),有更好的方法大家可直接指出。 1、關(guān)于MasterPage和Frameset的使用:網(wǎng)

最近想做一個(gè)flash的菜單與asp.net進(jìn)行交互. 參考了很多網(wǎng)上的資料,最后有以下心得,寫(xiě)出來(lái)記一下。

一、動(dòng)態(tài)加載菜單
菜單的內(nèi)容如下(menu.xml):


如果動(dòng)態(tài)加載呢?

1)把以menu.xml文件放到網(wǎng)站的根目錄之下,然后在flash的as中寫(xiě)如下的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中,至于如何顯示,就自己進(jìn)行處理了.


二、 給菜單中添加動(dòng)態(tài)參數(shù).
我們很多時(shí)間使用的url都是如EditRole.aspx?rolename=role1之類(lèi),此時(shí)應(yīng)該如何把"?rolename=role1"動(dòng)態(tài)的傳給flash呢.
我試驗(yàn)了很多方法,最后的結(jié)果如下.
1) 說(shuō)一下有了flash之后的asp.net頁(yè)面的生成順序.例如我的頁(yè)面是editrole.aspx在此頁(yè)面中有一個(gè)flash菜單.
editrole.aspx-->flash-->與flash通信的頁(yè)面.
2) 如何把動(dòng)態(tài)參數(shù)傳給flash呢,我使用的是xml讓asp.net與flash進(jìn)行通信.
3) 那么動(dòng)態(tài)參數(shù)如何得到呢?這就要借用第三個(gè)頁(yè)面,也就是專(zhuān)門(mén)用來(lái)與flash進(jìn)行交互的頁(yè)面.而不能使用所點(diǎn)擊的菜單的頁(yè)面.
4) 如上在第一個(gè)打開(kāi)的頁(yè)面如EditRole.aspx?rolename=role1中把"?rolename=role1"保存到cookie或緩存或seession中,
然后則專(zhuān)門(mén)與flash進(jìn)行通信的頁(yè)面把"?rolename=role1"編寫(xiě)成xml,然后reponse.wirte(參數(shù)xml字符串),傳給flash.

代碼:

1.editrole.aspx頁(yè)面中的代碼.
protected void Page_Load(object sender, EventArgs e)
{
this.txtUserName.Text = this.UserName;
//this.Description.Text = ReponseXML();
if (!IsPostBack)
{
ShowUserInfo();
this.WirteCookie();
}


}

public void WirteCookie()
{

//加密程序提供程序的名稱(chēng)
string symmProvider = "DESCryptoServiceProvider";
//需要加密的xml字符串
string stringToEncrypt = this.ReponseXML();
//加密后的字符串
string encryptedContentsBase64 = Cryptographer.EncryptSymmetric(symmProvider, stringToEncrypt);

//寫(xiě)cookies
Response.Cookies["UserSettings"]["uid"] = encryptedContentsBase64;

Response.Cookies["UserSettings"]["ur"] =this.UserRole;
Response.Cookies["UserSettings"].Expires = DateTime.Now.AddHours(1);

}

//與flash進(jìn)行交互的頁(yè)面.
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class XmlRepley : IHttpHandler
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/xml";
// context.Response.Write("Hello World");

string symmProvider = "DESCryptoServiceProvider";
string stringToEncrypt = this.GetUID(context);
string decryptedContentsBase64 = Cryptographer.DecryptSymmetric(symmProvider, stringToEncrypt);


context.Response.Write(decryptedContentsBase64);
}

public string GetUID(HttpContext context)
{
string uid = String.Empty;
if (context.Request.Cookies["UserSettings"] != null)
{

if (context.Request.Cookies["UserSettings"]["uid"] != null)
{ uid =context.Request.Cookies["UserSettings"]["uid"]; }

}
return uid;

}
public bool IsReusable
{
get
{
return false;
}
}
}

分享:編程高手 ASP.NET 狀態(tài)管理
一般而言,HTTP協(xié)議是非狀態(tài)服務(wù),它不保存任何用戶(hù)請(qǐng)求信息。直至NetScape開(kāi)始使用Cookies來(lái)保存用戶(hù)請(qǐng)求信息,Web應(yīng)用程序有了極大的發(fā)展�,F(xiàn)在ASP.NET程序員可以使用很多種方式來(lái)保存用戶(hù)請(qǐng)

共3頁(yè)上一頁(yè)123下一頁(yè)
來(lái)源:模板無(wú)憂//所屬分類(lèi):.Net教程/更新時(shí)間:2008-08-22
相關(guān).Net教程