📄 popuptracemenu.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 + -