-
一个与asp.net Button一样的控件,帮助你了解控件底层的实现。
-
/
-
/// MyButton1.cs by jlgzw 2007
-
///
-
/// <summary>
/// 自定义按钮类
/// </summary>
[DefaultProperty("Text")]
[ToolboxData("<{0}:MyButton1 runat=server></{0}:MyButton1>")]
public class MyButton1 : WebControl, IPostBackEventHandler
{
public event EventHandler Click;
[Description("按钮的标题文本")]
public string Text
{
get
{
String s = (String)ViewState["Text"];
return ((s == null) ? String.Empty : s);
} -
set
{
ViewState["Text"] = value;
}
} -
protected virtual void OnClick(EventArgs e)
{
if (Click != null)
{
Click(this, e);
}
}
#region IPostBackEventHandler 成员
//RaisePostBackEvent 方法(它是 IPostBackEventHandler 协定的一部分)
public void RaisePostBackEvent(string eventArgument)
{
OnClick(new EventArgs());
} -
#endregion
protected override void RenderContents(HtmlTextWriter output)
{
StringBuilder sb = new StringBuilder();
sb.Append("<input type=/"submit/" name=");
sb.Append("/"" + this.UniqueID + "/"");
sb.Append(" value=");
sb.Append("/"" + this.Text + "/"");
sb.Append(" style=/"background-color:");
sb.Append(this.BackColor.Name + ";");
sb.Append(" width:" + this.Width.ToString() + ";");
sb.Append(" height:" + this.Height.ToString() + ";");
sb.Append("/"");
sb.Append(" />");
output.Write(sb.ToString());
}
}
ASP.NET 2.0 制作自定义Button控件
最新推荐文章于 2021-07-29 18:42:00 发布