1
A
回答
1
FYI我是一个C#的家伙,你需要我的解决方案转换为vb.net,或者如果有人希望编辑这个答案,这将是膨胀。我可以尝试和记住语法,但是我会弄错它,增加更多的困惑,然后它的价值。
这工作,全部做的是铸造页面向右类型:
((MyParentPageType)this.Page).Method()
这一说我不建议这样做。你基本上把这个用户控件硬连线到父页面。您至少可以定义一个接口,任何包含此控件的页面都必须实现。此时你已经提供了一些解耦。
一个更好的机制是用户控件引发一个事件,即父页面将是订阅者。这是所有其他控件的工作原理。为此,您可以像
在你的用户控件添加事件:
private static readonly object EventClick=new object();
public event EventHandler<ClickEventArgs> Click
{
add
{
base.Events.AddHandler(EventClick, value);
}
remove
{
base.Events.RemoveHandler(EventClick, value);
}
}
那么你的页面将添加一个处理Click事件,那么当你需要,你可以触发事件。现在,您已将页面上的用户控件分离出来。
0
不知道VB.Net那么好,但在C#中的代码后面我想补充:
/// <summary>
/// Relay
/// </summary>
public event EventHandler ButtonClick;
protected void BtnClick(object sender, EventArgs e)
{
if (this.ButtonClick != null) this.ButtonClick(sender, e);
}
我认为VB.Net将是(但真的不知道!):
Public Event ButtonClick as EventHandler
Private Sub BtnClick(ByRef sender as object, ByRef e as EventArgs)
RaiseEvent ButtonClick(sender, e)
End Sub
这暴露了UserControl上的一个事件,可以在页面中使用该事件来连接它。
在UserControl的Asp:Button的标记上,设置OnClick="BtnClick"
,它应该将事件中继到UserControl上的事件。
在页面的标记中添加OnButtonClick="PageBtnClick"
到UserControl标记,然后可以调用您希望的页面的方法。
相关问题
- 1. 如何从aspx页面访问userControl中的web控件页面
- 2. 无法从aspx页面引用UserControl
- 3. 从aspx页面访问PageMethod
- 4. 访问.aspx页面Ajax TabContainer从.aspx .ascx
- 5. 访问页面的方法访问页面与页面方法
- 6. 如何从usercontrol调用aspx内容页面方法? ASP.NET,C#
- 7. 如何从页面访问usercontrol的值?
- 8. 从aspx页面访问静态类方法
- 9. 访问变量从页面后面的代码到aspx页面
- 10. 为什么在.aspx页面中无法访问usercontrol内的控件?
- 11. 如何从.aspx页面访问.aspx.cs页面的值?
- 12. 从主页面访问儿童页面的标题aspx
- 13. 从其父页面调用UserControl方法
- 14. 如何从aspx页面访问silverlight控件的属性和方法?
- 15. 访问aspx页面中的控件
- 16. 如何从aspx页面重定向到另一个aspx页面的方法
- 17. 如何从不同的aspx页面刷新mastercontrol中的usercontrol?
- 18. 如何通过.aspx访问.cshtml页面
- 19. 匿名访问aspx页面失败
- 20. 从父页面访问UserControl中的基于模板的控件
- 21. 从aspx页面访问静态类属性页
- 22. 可变ASPX页面无法访问,由于从后面的代码
- 23. 为什么我无法访问usercontrol中的页面viewstate?
- 24. 如何从UserControl访问页面中的控件?
- 25. 从Azure Web App中的跨域访问安全的aspx页面
- 26. 如何访问来自usercontrol的父页面方法Silverlight中的按钮?
- 27. 从aspx页面后面的代码中的母版页访问usercontrols
- 28. 从aspx页面访问ACTIVEX DLL中的资源
- 29. 如何以编程方式从cs文件访问aspx页面上的控件
- 30. 访问函数在aspx页面到master页面