最容易的自定義控件
發表時間:2024-06-18 來源:明輝站整理相關軟件相關文章人氣:6
[摘要]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()方法。