明辉手游网中心:是一个免费提供流行视频软件教程、在线学习分享的学习平台!

最容易的自定义控件

[摘要]ASP.NET提供自定义控件的机制,本文记叙生成一个简单自定义控件的方法。 一般地,Web页面处理发生错误时,可以在页面上显示错误信息,也可以通过javascript的alert提示信息。在ASP.NET中实现alert的一种方法是定义自定义控件。 小鸡射手的PromptControl...
ASP.NET提供自定义控件的机制,本文记叙生成一个简单自定义控件的方法。

一般地,Web页面处理发生错误时,可以在页面上显示错误信息,也可以通过javascript的alert提示信息。在ASP.NET中实现alert的一种方法是定义自定义控件。 小鸡射手的PromptControl实现如下,实在算是最简单的自定义控件啦,:-)

[DefaultProperty("Message"), ToolboxData("<{0}:PromptControl runat=server>")]
[Designer(typeof(PromptControlDesigner))]
public class PromptControl : System.Web.UI.WebControls.WebControl
{
private string message;

[Bindable(true), Category("Appearance"), DefaultValue("")]
public string Message {
get { return message; }
set { message = value; }
}
protected override void Render(HtmlTextWriter output)
{
if(Message!=null && Message.Length>0) {
output.Write(" ");
}
}
}

public class PromptControlDesigner : ControlDesigner
{
public override string GetDesignTimeHtml() {
return "PromptControl";
}
}

生成控件后,可以将其加到工具箱中,自定义控件和任何其他控件一样可以Drag到设计窗口,并可以在属性窗口中编辑Message属性,当然在程序中设置Message也完全可以啦。对于较复杂的自定义控件,主要是增加PostBack事件的处理,包括:

GetPostBackClientEvent()生成client的postback的script
如以前的blog用户控件中定义事件描述定义事件
实现RaisePostBackEvent()方法。