如何在aspx.vb中调用ascx中的SUB
时间: 2024-09-15 22:07:27 浏览: 46
在ASP.NET中,Aspx页面(.vb或.aspx.cs)和用户控件(ASCX)之间可以通过代码-behind文件来相互通信并调用对方的方法。以下是如何在.aspx.vb中调用.ascx中Sub(即未带返回值的方法)的基本步骤:
1. 首先,在用户控件(ascx.vb)中声明或定义你的Sub方法:
```vb.net
Public Class MyUserControl
Public Sub MyButton_Click(sender As Object, e As EventArgs)
' 控制器代码
End Sub
End Class
```
2. 确保该控件在你的aspx页面上已正确引用,并且有触发事件的按钮或其他UI元素:
```html
<%@ Register TagPrefix="uc" TagName="MyUserControl" Src="~/Controls/MyUserControl.ascx" %>
...
<uc:MyUserControl runat="server" ID="myUserControl">
<asp:Button ID="btnCallMethod" Text="Call Method" OnClick="btnCallMethod_Click" />
</uc:MyUserControl>
```
3. 在aspx.vb页的code-behind (.vb)中添加处理按钮点击事件的方法,调用用户控件的方法:
```vb.net
Partial Class _Default
Inherits System.Web.UI.Page
Protected Sub btnCallMethod_Click(sender As Object, e As EventArgs)
Dim myUserControl As MyUserControl = DirectCast(Page.FindControl("myUserControl"), MyUserControl)
If Not myUserControl Is Nothing Then
myUserControl.MyButton_Click(Me, EventArgs.Empty) ' 调用用户控件的方法
End If
End Sub
End Class
```
在这里,我们首先获取了用户控件的实例,然后通过这个实例调用了`MyButton_Click`方法。
阅读全文