我有页面ParentPage.aspx
和2个用户控件说(control1.ascx
和control2.ascx
)
在页面加载时我根据条件动态添加了一个用户控件,现在这个ParentPage也有一个在PlaceHolder外面的按钮(它包含Usercontrol),点击说(btnNext
按钮我想要调用UserControl的相应方法。
是否可以在“父级事件”页面上调用usercontrol的方法,
我正在尝试为此问题执行以下操作
1. userControl都将实现说IAction
方法,其中包含Action方法。
2.页面将具有IAction类型的属性,其getter将返回相应的UserControl,并且在此IAction属性上(在该UserControl上我将调用Action方法)
但我想将这个ParentPage与UserControl分离,为此我想使用Event而不是如何做到这一点,
提供的所有Google链接,显示了如何在点击Usercontrol事件时调用父页面方法,但反之亦然。
答案 0 :(得分:0)
如果您正在动态加载Usercontrol,如下所示。您可以在类级别声明Usercontrol并在课程中访问它。
ParentPage:
public partial class ParentPage: System.Web.UI.Page
{
private Control ucUserControl;
protected void Page_Load(object sender, System.EventArgs e)
{
ucUserControl =(Control)Page.LoadControl("control1.ascx");
placeholder.Controls.Add(ucUserControl);
}
//button click event
protected void button_Click(object sender, EventArgs e)
{
ucUserControl.ActionMethod();
}
}