⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 popuptracemenu.cs

📁 asp.net的右键菜单示列代码。对大家有的帮助吧
💻 CS
字号:
using System;
using System.ComponentModel;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace TraceMenu
{
    //该源码下载自www.51aspx.com(51aspx.com)
    /// <summary>
    /// Author: ChengKing(ZhengJian)
    /// </summary>
    [DefaultProperty("TargetControl")]
    [ToolboxData("<{0}:PopupTraceMenu runat=server></{0}:PopupTraceMenu>")]
    //[Designer(typeof(System.ComponentModel.Design.DesignerCollection))]
    public class PopupTraceMenu : Control, IComponent
    {

        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("[PopupTraceMenu \"PopupTraceMenu11\"]")]
        [Localizable(true)]
        public string Text
        {
            get
            {
                String s = (String)ViewState["Text"];
                return ((s == null) ? String.Empty : s);
            }

            set
            {
                ViewState["Text"] = value;
            }
        }

        [Bindable(true)]
        [Category("Appearance")]
        [DefaultValue("")]
        [Description("设置此控件的寄主控件")]
        [TypeConverter(typeof(ControlIDConverter))] 
        public string TargetControl
        {
            get
            {
                String s = (String)ViewState["TargetControl"];
                return ((s == null) ? String.Empty : s);                                                
            }
            set
            {
                ViewState["TargetControl"] = value;
            }
        }

        protected override void Render(HtmlTextWriter writer)
        {
            if (DesignMode)
            {
                this.Controls.Clear();                
                LiteralControl lc = new LiteralControl();
                lc.Text = this.Text;                
                this.Controls.Add(lc);                
            }
            base.Render(writer);            
        }

        protected override void CreateChildControls()
        {            
            base.CreateChildControls();
        }

        protected override void OnPreRender(EventArgs e)
        {

            if (!Page.ClientScript.IsClientScriptBlockRegistered("BuildMenu"))
            {
                Page.ClientScript.RegisterClientScriptBlock(this.GetType(), "BuildMenu",
                    "<script type='text/javascript' src='JScript.js'></script>");
            }

            Control targetControl = this.FindControl(TargetControl);

            StringBuilder strInitScript = new StringBuilder();
            if (targetControl != null)
            {                
                strInitScript.Append("<script text/javascript> ");
                strInitScript.Append("   writeStyle(); makeMenu(); ");
                strInitScript.Append("   if( document.all&&window.print ) ");
                strInitScript.Append("   { ");
                strInitScript.Append("      var objClientId = '" + targetControl.ClientID + "';");
                strInitScript.Append("      if(objClientId != null) ");
                strInitScript.Append("      {");
                strInitScript.Append("         var obj = document.getElementById(objClientId);");
                strInitScript.Append("         document.onclick = hideMenu; ");
                strInitScript.Append("         obj.oncontextmenu = showMenu;");
                strInitScript.Append("      }");
                strInitScript.Append("      else {alert('Please Set TargetControl Property!')}");
                strInitScript.Append("   } ");
                strInitScript.Append("</script>");
            }
            else
            {
                strInitScript.Append("<script text/javascript> ");
                strInitScript.Append("   alert('Please Set TargetControl Property!'); ");
                strInitScript.Append("</script>");
            }
            if (!Page.ClientScript.IsStartupScriptRegistered("InitScript"))
            {
                Page.ClientScript.RegisterStartupScript(this.GetType(), "InitScript",
                    strInitScript.ToString());
            }
           
            base.OnPreRender(e);
        }        
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -