|
ASP.NET提供自定義控件的機(jī)制,本文記敘生成一個(gè)簡(jiǎn)單自定義控件的方法。
一般地,Web頁(yè)面處理發(fā)生錯(cuò)誤時(shí),可以在頁(yè)面上顯示錯(cuò)誤信息,也可以通過(guò)javascript的alert提示信息。在ASP.NET中實(shí)現(xiàn)alert的一種方法是定義自定義控件。 小雞射手的PromptControl實(shí)現(xiàn)如下,實(shí)在算是最簡(jiǎn)單的自定義控件啦,:-)
[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到設(shè)計(jì)窗口,并可以在屬性窗口中編輯Message屬性,當(dāng)然在程序中設(shè)置Message也完全可以啦。對(duì)于較復(fù)雜的自定義控件,主要是增加PostBack事件的處理,包括:
GetPostBackClientEvent()生成client的postback的script 如以前的blog用戶控件中定義事件描述定義事件 實(shí)現(xiàn)RaisePostBackEvent()方法。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!