分享內容(
23人
step5. 覆寫 Render 方法
在 TBContextMenu 加入一個 ControlID 屬性,用來設定要呈現右鍵選單的目標控制項 ID。然後覆寫 Render 方法,來輸出相關的 JavaScript 程式碼。
三、測試程式
接下來要測試 TBContextMenu 控制項,首先在 HTML 碼中加入引用相關的 jqeruy.js 及 jquery.contextmenu.js。
在頁面放置一個 Label 及一個 TBContextMenu 控制項,TBContextMenu 的 ControlID 設定為此 Label,即在該 Label 按右鍵會出現我們設定的右鍵選單。
執行程式,在 Label 上按右鍵就會出現我們在 TBContextMenu 控制項設定 Items 集合屬性的選單內容。

備註:本文同步發佈於筆者「ASP.NET 魔法學院」部落格
http://www.dotblogs.com.tw/jeff377/archive/2008/10/31/5844.aspx
在 TBContextMenu 加入一個 ControlID 屬性,用來設定要呈現右鍵選單的目標控制項 ID。然後覆寫 Render 方法,來輸出相關的 JavaScript 程式碼。
Protected Overrides Sub Render(ByVal writer As System.Web.UI.HtmlTextWriter)
Dim oScript As StringBuilder
Dim sScript As String
Dim oItem As TBMenuItem
Dim bFlag As Boolean
Dim sClientID As String
Dim oControl As Control
oControl = WebFunc.FindControlEx(Me.Page, Me.ControlID)
If oControl IsNot Nothing Then
sClientID = oControl.ClientID
Else
sClientID = String.Empty
End If
oScript = New StringBuilder()
oScript.AppendLine("$(document).ready(function() {")
oScript.AppendLine("$('#" & sClientID & "').contextMenu('" & Me.ClientID & "',{")
oScript.AppendLine("bindings: {")
bFlag = False
For Each oItem In Me.Items
If StrIsNotEmpty(oItem.OnClientClick) Then
If bFlag Then
oScript.AppendLine(",")
End If
oScript.AppendLine("'" & oItem.Key & "': function(t) {")
oScript.AppendLine(oItem.OnClientClick)
oScript.AppendLine("}")
bFlag = True
End If
Next
oScript.AppendLine("}")
oScript.AppendLine("});")
oScript.AppendLine("});")
sScript = oScript.ToString
Me.Page.ClientScript.RegisterStartupScript(Me.GetType, "menu", sScript, True)
MyBase.Render(writer)
End Sub
三、測試程式
接下來要測試 TBContextMenu 控制項,首先在 HTML 碼中加入引用相關的 jqeruy.js 及 jquery.contextmenu.js。
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery.contextmenu.js"></script>
在頁面放置一個 Label 及一個 TBContextMenu 控制項,TBContextMenu 的 ControlID 設定為此 Label,即在該 Label 按右鍵會出現我們設定的右鍵選單。
<asp:Label class="demo" ID="Label1" runat="server"
Text="RIGHT CLICK FOR DEMO (TBContextMenu)" Font-Bold="True"></asp:Label>
<br />
<bee:TBContextMenu ID="TBContextMenu1" runat="server" ControlID="Label1" >
<Items>
<bee:TBMenuItem Key="open" Text="Open" ImageUrl="~/image/folder.png" OnClientClick="alert('open');"/>
<bee:TBMenuItem Key="email" Text="Email" ImageUrl="~/image/email.png" OnClientClick="alert('email');" />
<bee:TBMenuItem Key="save" Text="Save" ImageUrl="~/image/disk.png" OnClientClick="alert('save');" />
<bee:TBMenuItem Key="delete" Text="Delete" ImageUrl="~/image/cross.png" OnClientClick="alert('delete');" />
</Items>
</bee:TBContextMenu>
執行程式,在 Label 上按右鍵就會出現我們在 TBContextMenu 控制項設定 Items 集合屬性的選單內容。
備註:本文同步發佈於筆者「ASP.NET 魔法學院」部落格
http://www.dotblogs.com.tw/jeff377/archive/2008/10/31/5844.aspx
▼ ADVERTISEMENT ▼
廠商來幫忙
邦友收藏動態
- 三論專案的價格與成本 (ace33022)
- [Day 30]簡介軟體開發相關角色與UML產出模組-7 (ace33022)
- 如何在windos7的預覽窗格中預覽PDF (ace33022)
- 中國谷歌警告谷姐侵權 (chiehwen)
- 政府機房共構露曙光 (euros1002)
- 邁向eGov 2.0 優質網路政府 (euros1002)
- 顛覆傳統的新BI (euros1002)
- 政府廣發工商憑證,企業線上交易如何運用? (euros1002)
- 整合通訊也能DIY (euros1002)
- 如果購買W7 Ultimate 繁體中文版,想要確認若經由MUI轉換成日文介面,語音辨識功能是否就可以辨識日文? (mf0519)
- 5 本超優免費的自學 Linux 電子書 (scottchen)
- 常用網路管理工具 Getif (Get Interfaces)教學 (kaiin323)
- 6款Windows平臺免費備份工具 (tomtom123)
- 關於Cisco、linux、MySQL、Oracle、unix一些命令手冊 (fran633)
- 穩定的感覺會咬人 (heero1219248)
- 化繁為簡的工作拆解手法 (brgodman)
- 關於CCNA一些自我學習資料大全~! (51pass)
- 系統分析師必須思考的8個問題 (arnolin)
- 10 個不可或缺的 Linux/Unix 指令速查表 (scottchen)
- 用群組原則輕鬆管理使用者電腦 (raytracy)
安裝「收藏快捷鍵」,可以讓邦友直接透過Google工具列上的按扭,快速收藏站內、站外的網頁。
相關問答
- [ASP.NET 控制項實作 Day1] 建立 ASP.NET 伺服器控制項專案
- [ASP.NET 控制項實作 Day2] 建立第一個伺服器控制項
- [ASP.NET 控制項實作 Day11] ActiveX 伺服器控制項
- [ASP.NET 控制項實作 Day3] 擴展現有伺服器控制項功能
- 鐵人賽的疑問?
- 最後一天 -- 鐵人賽對我的意義!!!
- [ASP.NET 控制項實作 Day9] 控制項常用 Attribute 介紹(2)
- 收到鐵人賽的T-shirt啦~~ (有圖有真相)
- [ASP.NET 控制項實作 Day4] 複合控制項
- [ASP.NET 控制項實作 Day10] Media Player 控制項
- [ASP.NET 控制項實作 Day30] 整合 jQuery ContextMenu 的右鍵選單控制項
- [ASP.NET 控制項實作 Day19] 控制項設計階段的外觀
- 鐵人賽之期末報告
- [ASP.NET 控制項實作 Day7] 設定工具箱的控制項圖示
- 鐵人賽之期中報告
- 第二屆鐵人賽開始啦,想參賽的必讀哦
- 2009第2屆iT邦幫忙鐵人賽得獎名單公佈
- [ASP.NET 控制項實作 Day27] 控制項依 FormView CurrentMode 自行設定狀態
- [ASP.NET 控制項實作 Day8] 控制項常用 Attribute 介紹(1)
- [ASP.NET 控制項實作 Day5] 屬性與 ViewState







