自定义控件中的控件调用引用控件的页面里的函数 (转)

自定义控件中的控件调用引用控件的页面里的函数 (转)[@more@]

Imports System.ComponentModelXML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

Imports System.web.UI

Namespace WebControls

  {0}:CustomToolBar>")> Public Class CustomToolBar

  Inherits System.Web.UI.WebControls.WebControl

'定义3按钮

  Public WithEvents btnAdd As System.Web.UI.WebControls.Button

  Public WithEvents btnDelete As System.Web.UI.WebControls.Button

  Public WithEvents btnEdit As System.Web.UI.WebControls.Button 

Private Sub Button_Ini(ByRef objButton As Button, ByVal Text As String)

objButton = New System.Web.UI.WebControls.Button

objButton.Text = Text

  Me.Controls.Add(objButton)

End Sub 

Public Sub New()

  Button_Ini(btnAddNew, "新增")

  Button_Ini(btnDeleteData, "删除")

End Sub

  End Class

End Namespace

/

为了简明,没在控件里加什么事件、方法、属性之类的。把它编译成dll

调用方法:

新建一页面test.ASPx,把控件添加进去。控件Id为CustomToolBar。在test.aspx.vb里的 Page_Init过程里添加:

Public Class frmFabricItem

  Inherits System.Web.UI.Page

  Protected dbaControls As AMMS.DbaControls

#Region " Web 窗体设计器生成的代码 "

  '该调用是 Web 窗体设计器所必需的。

  buggerStepThrough()> Private Sub InitializeComponent()

  End Sub

  Private Sub Page_Init(ByVal sender As System.object, ByVal e As System.EventArgs) Handles MyBase.Init

  'CODEGEN: 此方法调用是 Web 窗体设计器所必需的

  '不要使用代码编辑器修改它。

  InitializeComponent()

  AddHandler CustomToolBar. btnAdd.Click, AddressOf Me.btnAdd_Click

  AddHandler CustomToolBar. btnDelete.Click, AddressOf Me.btnDelete_Click

  AddHandler CustomToolBar. btnEdit.Click, AddressOf Me.btnEdit_Click

  End Sub

#End Region

 

  Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

  '在此处放置初始化页的用户代码

End Sub

'定义btnAdd_Click过程

Private Sub btnAdd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

'定义btnDelete_Click过程

Private Sub btnDelete_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

'定义btnAdd _Click过程

Private Sub btnEdit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

……..

End Sub

 

End Class

/

其中关键是:AddHandler 语句。 还有要放在Page_Init过程里。

附:

AddHandler 语句

请参见

2003/MS.MSDNQTR.2003FEB.2052/vblr7/html/vastmremovehandlerstatement.htm">RemoveHandler 语句 | Handles | 事件和事件处理程序 | AddHandler 和 RemoveHandler

将事件与事件处理程序相关联。

AddHandler event, AddressOf eventhandler

各部分说明

event

要处理的事件的名称。

eventhandler

将处理事件的过程的名称。

备注

AddHandlerRemoveHandler 语句使您可以在程序执行过程中的任何时候启动和停止事件处理。

 

 


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752043/viewspace-956804/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752043/viewspace-956804/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值