免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Asp.net 2.0 自定義控件開發(fā)[創(chuàng)建自定義右鍵PopupMenu控件]

(一). 概述

        1. 當(dāng)鼠標(biāo)懸浮到控件對象上, 右擊, 會彈出此自定義控件.

        2. 僅當(dāng)控件支持oncontextmenu事件.

(二). 運行如圖

  

(三). 用法

   1. 將PopupTraceMenur控件Dll添加引用到Web站點工程中

   2. 從工具箱拖動一個PopupTraceMenu控件和另一個支持oncontextmenu事件的控件到設(shè)計器中,

       比如: <GridView id="GridView1" runat="server" />

   3. 設(shè)置PopupTraceMenur的屬性TargetControl=GridView1

   4. F5運行即可

(四). 完整代碼

    1. 主控件PopupTraceMenu.cs代碼

  1  /// <summary>
  2     /// Author: ChengKing(ZhengJian)
  3     /// </summary>
  4     [DefaultProperty("TargetControl")]
  5     [ToolboxData("<{0}:PopupTraceMenu runat=server></{0}:PopupTraceMenu>")]
  6     //[Designer(typeof(System.ComponentModel.Design.DesignerCollection))]
  7     public class PopupTraceMenu : Control, IComponent
  8     {
  9 
 10         [Bindable(true)]
 11         [Category("Appearance")]
 12         [DefaultValue("[PopupTraceMenu \"PopupTraceMenu11\"]")]
 13         [Localizable(true)]
 14         public string Text
 15         {
 16             get
 17             {
 18                 String s = (String)ViewState["Text"];
 19                 return ((s == null? String.Empty : s);
 20             }
 21 
 22             set
 23             {
 24                 ViewState["Text"= value;
 25             }
 26         }
 27 
 28         [Bindable(true)]
 29         [Category("Appearance")]
 30         [DefaultValue("")]
 31         [Description("設(shè)置此控件的寄主控件")]
 32         [TypeConverter(typeof(ControlIDConverter))] 
 33         public string TargetControl
 34         {
 35             get
 36             {
 37                 String s = (String)ViewState["TargetControl"];
 38                 return ((s == null? String.Empty : s);                                                
 39             }
 40             set
 41             {
 42                 ViewState["TargetControl"= value;
 43             }
 44         }
 45 
 46         protected override void Render(HtmlTextWriter writer)
 47         {
 48             if (DesignMode)
 49             {
 50                 this.Controls.Clear();                
 51                 LiteralControl lc = new LiteralControl();
 52                 lc.Text = this.Text;                
 53                 this.Controls.Add(lc);                
 54             }
 55             base.Render(writer);            
 56         }
 57 
 58         protected override void CreateChildControls()
 59         {            
 60             base.CreateChildControls();
 61         }
 62 
 63         protected override void OnPreRender(EventArgs e)
 64         {
 65 
 66             if (!Page.ClientScript.IsClientScriptBlockRegistered("BuildMenu"))
 67             {
 68                 Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "BuildMenu",
 69                     "<script type=‘text/javascript‘ src=‘JScript.js‘></script>");
 70             }
 71 
 72             Control targetControl = this.FindControl(TargetControl);
 73 
 74             StringBuilder strInitScript = new StringBuilder();
 75             if (targetControl != null)
 76             {                
 77                 strInitScript.Append("<script text/javascript> ");
 78                 strInitScript.Append("   writeStyle(); makeMenu(); ");
 79                 strInitScript.Append("   if( document.all&&window.print ) ");
 80                 strInitScript.Append("   { ");
 81                 strInitScript.Append("      var objClientId = ‘" + targetControl.ClientID + "‘;");
 82                 strInitScript.Append("      if(objClientId != null) ");
 83                 strInitScript.Append("      {");
 84                 strInitScript.Append("         var obj = document.getElementById(objClientId);");
 85                 strInitScript.Append("         document.onclick = hideMenu; ");
 86                 strInitScript.Append("         obj.oncontextmenu = showMenu;");
 87                 strInitScript.Append("      }");
 88                 strInitScript.Append("      else {alert(‘Please Set TargetControl Property!‘)}");
 89                 strInitScript.Append("   } ");
 90                 strInitScript.Append("</script>");
 91             }
 92             else
 93             {
 94                 strInitScript.Append("<script text/javascript> ");
 95                 strInitScript.Append("   alert(‘Please Set TargetControl Property!‘); ");
 96                 strInitScript.Append("</script>");
 97             }
 98             if (!Page.ClientScript.IsStartupScriptRegistered("InitScript"))
 99             {
100                 Page.ClientScript.RegisterStartupScript(this.GetType(), "InitScript",
101                     strInitScript.ToString());
102             }
103            
104             base.OnPreRender(e);
105         }        
106     }

    2. 測試頁面文件default.aspx代碼

1 <div>
2    <asp:GridView ID="GridView1" runat="server" </asp:GridView>  
3    <cc1:PopupTraceMenu ID="PopupTraceMenu1" runat="server" TargetControl= "GridView1">

 </cc1:PopupTraceMenu>                      
4 </div>

(五). 示例代碼下載

       http://www.cnblogs.com/Files/MVP33650/自定義控件開發(fā)--[右鍵菜單].rar

 

 

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ASP.NET2.0中用Gridview控件操作數(shù)據(jù)
Asp.net2.0:如何使用ObjectDataSource
ASP.NET 2.0 的數(shù)據(jù)源、數(shù)據(jù)綁定控件概述與區(qū)別
ASP.NET數(shù)據(jù)表現(xiàn)控件一些比較常見問題集合
【ASP.NET】GRIDVIEW控件的一般使用技巧
ASP.NET中GridView控件ButtonField的使用
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點擊這里聯(lián)系客服!

聯(lián)系客服