如何在VB.NET中的Web用户控件上引发事件

时间:2013-06-28 21:21:46

标签: .net vb.net web controls

我有一个用VB编写的.NET 4.0 Web应用程序项目。我有一个母版页,从中可以导出所有后续网页。每个网页包含一个或多个Web用户控件。一个特定的WUC包括一个用户可以点击的面板 - 它的行为和感觉就像一个按钮 - 将它们带到另一页相关数据。

我现在需要捕获面板的OnClick事件并在将用户重定向到另一个页面之前执行任务。我到目前为止尝试的解决方案包括:

(1)在WUC上的部分类......开场陈述之后插入以下代码:

Public Event Click(ByVal sender As Object, ByVal e As EventArgs)

Protected Overridable Sub OnClick(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Click
    RaiseEvent Click(Me, e)
End Sub

(2)在WUC中包括以下子程序:

Public Sub common_button1_Click1(sender As Object, e As EventArgs) Handles Me.Click
  ' Do Stuff here
End Sub

(3)在WUC的Page_Prerender子例程中包含以下语句:

AddHandler Me.Click, AddressOf common_button1_Click1

我现在如何使用此事件处理程序,以便当我点击它触发的WUC时?我当时认为我网页上对WUC的引用会在其中包含“OnClick”属性并指向'common_button1_Click',但该选项似乎不在Visual Studio的IntelliSense中。示例......

非常感谢您的回应。

1 个答案:

答案 0 :(得分:0)

在我们的实现中,我们将AddHandler代码放在Page_Load而不是PreRender中。无论是否为回发,这也会在每个负载上添加。