自定义控件中的控件调用引用控件的页面里的函数
2003-06-25 15:33
411 查看
Imports System.ComponentModel
Imports System.Web.UI
Namespace WebControls
<DefaultProperty("Text"), ToolboxData("<{0}: CustomToolBar runat=server></{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 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> 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 语句
请参见
RemoveHandler 语句 | Handles | 事件和事件处理程序 | AddHandler 和 RemoveHandler
将事件与事件处理程序相关联。
AddHandler event, AddressOf eventhandler
各部分说明
event
要处理的事件的名称。
eventhandler
将处理事件的过程的名称。
备注
AddHandler 和 RemoveHandler 语句使您可以在程序执行过程中的任何时候启动和停止事件处理。
Imports System.Web.UI
Namespace WebControls
<DefaultProperty("Text"), ToolboxData("<{0}: CustomToolBar runat=server></{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 窗体设计器所必需的。
<System.Diagnostics.DebuggerStepThrough()> 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 语句
请参见
RemoveHandler 语句 | Handles | 事件和事件处理程序 | AddHandler 和 RemoveHandler
将事件与事件处理程序相关联。
AddHandler event, AddressOf eventhandler
各部分说明
event
要处理的事件的名称。
eventhandler
将处理事件的过程的名称。
备注
AddHandler 和 RemoveHandler 语句使您可以在程序执行过程中的任何时候启动和停止事件处理。
相关文章推荐
- 自定义控件中的控件调用引用控件的页面里的函数
- 关于用户自定义控件与引用该控件的页面之间的javascript脚本冲突
- c#的aspx页面中引用了用户控件,如何相互调用后台方法
- 一个aspx页面有2个按钮,都是服务器控件,服务器上的DLL如何知道用户点击了哪个按钮,从而按钮的事件函数被调用
- 在自定义控件中调用父页面的控件
- 在加载aspx页面时,为引用的ascx当中的按钮添加事件,以方便调用aspx页面中的函数
- 在C#的ajax中的timer触发函数中怎样调用页面元素和引用JS脚本函数?
- 子页面调用父页面函数、控件
- 如何在 ActiveX 控件中调用页面的 Jscript 函数
- ASP.NET跨页面的控件调用
- iframe调用父页面函数示例详解
- Ascx中引用(调用)JS文件,在用户控件中引用(调用)JS文件
- JavaWeb开发,使用WebBrowser控件调用打印机打印页面
- 一个页面多次调用自定义控件时,注册JS脚本
- chrome浏览器 iframe子页面调用父页面JS函数的问题
- const、引用、函数调用等之间的关系
- 实例4 函数的引用调用
- js 函数外获取页面元素,函数内调用为null
- Java 函数调用是传值还是传引用? 从字节码角度来看看!
- ASP.NET自定义控件的BUG在ASPX页面中注册控件后不能打出标签的问题(本人已解决)