国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > .NET > 正文

Cutting Edge:為ASP.NET控件加入快捷菜單(完)

2024-07-10 12:56:00
字體:
來源:轉載
供稿:網友
  • 本文來源于網頁設計愛好者web開發社區http://www.html.org.cn收集整理,歡迎訪問。
  •  

    cutting edge:為asp.net控件加入快捷菜單(完)

    英文原文:adding a context menu to asp.net controls
    作者:dino esposito
    翻譯:劉瑞才
    源碼:cuttingedge0502.exe
    • 綜述

      快捷菜單最重要的部分是項目項列表,它即可以在運行時通過代碼來指定,也可以在設計時指定。下面的代碼塊是設計時指定的例子:

      <cc1:contextmenu id="contextmenu1" runat="server">   <cc1:contextmenuitem text="做這個"        commandname="thiscommand" tooltip="¡­" />    <cc1:contextmenuitem text="做那個"        commandname="thatcommand" tooltip="¡­" />    <cc1:contextmenuitem />    <cc1:contextmenuitem text="思考 ..."        commandname="thinkcommand" tooltip="¡­ " /> </cc1:contextmenu>

      空的<cc1:contextmenu>標簽表示一個菜單項分隔。注意,我們可以通過一系列的元數據屬性設置,達到在visual studio.net中操作子標簽的目的:

      [designerserializationvisibility( designerserializationvisibility.content)][persistencemode(persistencemode.innerdefaultproperty)]public contextmenuitemcollection contextmenuitems {...}

      但是這種配置不支持其它類型的子標簽,如果你使用其它類型的子標簽,解析器將會發出一個錯誤。例如:你不能在快捷菜單的根標簽內序列化數據綁定控件的內容。通過使用一組不同的設計時屬性,可以達到這一目的(我希望在將來可以包含這方面的控件設計內容)

      如果在visual studio.net的設計器中雙擊快捷菜單控件,一個關聯到快捷菜單itemcommand事件的處理器將被自動添加。然后你就可以根據name分別處理菜單項的行為。事件處理代碼中填寫的內容大至如下所示:

      void contextmenu1_itemcommand(object sender, commandeventargs e){   switch(e.commandname)   {      case "thinkcommand":           ...           break;      case "thiscommand":           ...            break;      default:           ...            break;   }}

      在圖3中你可以看到快捷菜單控件在設計時的呈現。asp.net設計器調用被設計在頁面內的所有控件的rendercontrol方法。那么就我們的快捷菜單控件而言,將通過呈現一個table行來模擬一個選擇的菜單項,這又是如何通過rendercontrol方法實現的呢?這是通過快捷菜單控件的自定義設計器來實現的。你可以在本文所附的代碼中找到這個組件的源代碼。概括的說:自定義設計器得到由rendercontrol方法產生的html字符串,并修改這個html字符串,來額外添加一個不同背景色的table行。通過這種方式用戶可以清楚的看到控件的輸出效果。

    • asp.net 2.0 中的菜單

      本文和我們的快捷菜單控件都是基于 asp.net 1.x 的,但是它也可以很容易的被用于 asp.net 2.0。也許你知道,在asp.net 2.0中有了全新的菜單控件。但是,你沒必要在asp.net 2.0應用程序中使用這個菜單控件作為快捷菜單,因為它過于龐大,并且是被設計用于其它場景的。asp.net 2.0 的菜單控件是專門設計成靜態菜單(而不是快捷菜單)的,并且它缺少實現快捷菜單功能所必須的兩個關鍵設置:它不能被隱藏并且不支持絕對位置。這兩個設置都可以通過編輯標記來添加聲明。在另一方面,asp.net 2.0 的菜單提供了一些關鍵改進,包括:支持多級嵌套,可訪問,和改變瀏覽器窗口大小時的滾動條。由你決定哪種形式更適合你的需求。

    (全文完)
    發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    主站蜘蛛池模板: 日喀则市| 姚安县| 关岭| 伊川县| 珠海市| 澄江县| 奎屯市| 商城县| 安多县| 长治县| 巴东县| 新巴尔虎左旗| 镇原县| 徐汇区| 沙坪坝区| 克什克腾旗| 抚顺市| 沭阳县| 蚌埠市| 布尔津县| 贵南县| 上杭县| 读书| 宁波市| 遂宁市| 磐石市| 通州区| 乐昌市| 华坪县| 通山县| 尼勒克县| 鹤岗市| 炉霍县| 中西区| 阿勒泰市| 九龙坡区| 九龙坡区| 神木县| 阳城县| 剑川县| 浮梁县|