程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 將ASP.NET控件加入快捷菜單

將ASP.NET控件加入快捷菜單

編輯:關於ASP.NET

雖然快捷菜單在桌面應用程序中已經是非常通用的元素,但是由於在象ASP.NET這樣的基於服務器的技術沒有很好的描繪,所以在Web應用程序中快捷菜單並不是很通用。要想使用快捷菜單,浏覽器必須高度支持DHTML和豐富事件模式,例如:Microsoft Internet Explorer 5.0及更高版本,或者Netscape 6.0等。然而,各種浏覽器的對象模式雖然功能上大至相同,但是成員各名字卻各不相同,這就需要我們自己實現對象和事件的從一種模式到到另一種模式的轉換。

這裡,我們創建一個針到Internet Explorer的對象模式的ASP.NET快捷菜單。接著,我將經過修改使其功能支持其它浏覽器。代碼支持ASP.NET 1.x,也可以在ASP.NET2.0 Beta1下編譯通過 Outline of the

ContextMenu Control 快捷菜單控件概述:

MSDN Liabrary 中包含了幾個DHTML快捷菜單的示例。分別提供了對這一功能的不能實現方法。一個快捷菜單就是在頁面中任何位置的一組標記代碼。它包括兩部分內容——界面和腳本(當用戶在頁面右擊時關聯UI),UI提供一個可點擊的元素的列表——菜單項——和各自的內容文本,圖標,命令名(command name),目標url,提示(tooltip),和所有你認為有必要顯示出來的東西。快捷菜單界面是頁面的一部分,並且屬於頁面控件樹中的一員。(太多的快捷菜單將會出現執行的問題:與大多數用戶的常規情況相比,ASP.NET將發送更多的快捷菜單到浏覽器)當用戶在頁面的一個元素上右擊時,將引發一段JavaScript,這段腳本將快捷菜單移動到右擊的位置顯示。

快捷菜單將保持隱藏屬性,只有當用戶在頁面的一個綁定個快捷菜單的元素上右擊時,快捷菜單才顯示。頁面元素接收腳本事件並彈出一個快捷菜單作為響應。腳本事件信賴於浏覽器,在Internet Explorer 5.0和更新版本中是 OnContexMenu事件.在Netscape6.0和更新版本中你要使用 OnMouseUp 事件(在Internet Explorer 5.0+中你也可能使用OnMouseUp事件,但要多寫幾行代碼)在接收事件的腳本中,獲取快捷菜單的UI代碼塊並且將它移動到發生點擊的位置。同時設置彈出的panel的 visibilty屬性。當用戶在菜單項上點擊時,頁面回傳並引發服務器端事件。對於服務器而言,點擊一個菜單項和點擊一具常規的按鈕沒什麼區別。

當用戶戶想取消已經打開的快捷菜單時怎麼辦呢?在windows程序中,按下Esc鍵或者在菜單區域外點擊都可以取消已彈出的快捷菜單。所以你必須在Web中實現這一功能。請注意,只有快捷菜單處於活動(顯示出來)時,Esc鍵才有郊。因為Esc還可用於其它元素的其它鍵盤快捷方式。

我還可以讓菜單在用戶鼠標移開菜單時隱藏。可以通過腳本操作 OnMouseLeave 事件實現。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved