明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

最容易的自定義控件

[摘要]ASP.NET提供自定義控件的機(jī)制,本文記敘生成一個(gè)簡(jiǎn)單自定義控件的方法。 一般地,Web頁(yè)面處理發(fā)生錯(cuò)誤時(shí),可以在頁(yè)面上顯示錯(cuò)誤信息,也可以通過(guò)javascript的alert提示信息。在ASP.NET中實(shí)現(xiàn)alert的一種方法是定義自定義控件。 小雞射手的PromptControl...
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()方法。



標(biāo)簽:最容易的自定義控件