欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

flash菜單與asp.net進行交互_.Net教程

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

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

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

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


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

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


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

代碼:

1.editrole.aspx頁面中的代碼.
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()
{

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

//寫cookies
Response.Cookies["UserSettings"]["uid"] = encryptedContentsBase64;

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

}

//與flash進行交互的頁面.
[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ù),它不保存任何用戶請求信息。直至NetScape開始使用Cookies來保存用戶請求信息,Web應(yīng)用程序有了極大的發(fā)展。現(xiàn)在ASP.NET程序員可以使用很多種方式來保存用戶請

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