自定义asp.net控件分析(二)

王朝asp·作者佚名  2006-01-08
宽屏版  字体: |||超大  

自定义asp.net控件分析(二)

上一篇分析了自定义控件的基本语法。这次编写一控件来作为实例。

在asp.net中当你想对button的click事件做确认操作,但Button按钮不能满足此要求。就针对此要求来编写自己的控件。

======================================================================

继承:System.Web.UI.WebControls.Button

控件功能:弹出确认消息框

控件属性:message(消息框中显示的信息)

控件方法:不需要

控件事件:不需要

使用方法:“确定”执行按钮的button_click事件,“取消”不执行任何事件。

Imports System.ComponentModel

Imports System.Web.UI

Namespace WebControls

<DefaultProperty("Text"), ToolboxData("<{0}:ConfirmButton runat=server></{0}:ConfirmButton>")> Public Class ConfirmButton

'继承button

Inherits System.Web.UI.WebControls.Button

'为其所包含的任何服务器控件提供唯一的命名空间

Implements INamingContainer

Dim _Message As String

'定义message属性。

<Bindable(True), Category("Appearance"), DefaultValue("")> Property [Message]() As String

Get

Return _Message

End Get

Set(ByVal Value As String)

_Message = Value

End Set

End Property

Public Sub New()

_Message = ""

End Sub

'重写控件的输出

Protected Overrides Sub Render(ByVal output As System.Web.UI.HtmlTextWriter)

'为控件增加客户端onclick事件。

If Me.Message.Trim <> "" Then Me.Attributes.Add("onClick", "jscript:if(!confirm('" & Me.Message & "')) return false;")

Me.Attributes.Add("onFocus", "jscript:this.blur();")

MyBase.Render(output)

End Sub

End Class

End Namespace

到此,控件就编写完了,你看是不是很简单。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有