我正在开发一个Asp.net项目,我正在将两个用户控件加载到另一个ascx控件中。首先,我正在加载control1.ascx
然后加载control2。在control2.ascx中加载它们后,我想访问一个重载control1的一些数据的函数。我正在使用以下代码执行此操作:
private ASP.control1_ascx tree;
tree = (ASP.control1_ascx)LoadControl("control1.ascx");
tree.aload();
当我调试代码时,它似乎调用了aload()函数并更新了数据。但问题是在调用函数后我看不到它们,而是在回发事件后我可以看到正确的数据。为什么会这样?当我调用函数时,是否有解决方案可以看到它们?
答案 0 :(得分:1)
您是否尝试在每个用户控件中创建委托事件,然后使用此事件重新绑定数据?
在您的usercontrol中:
public delegate void RefreshRequired(object sender, any other params to pass to event method)
public event OnRefreshRequired OnRefreshRequired;
在你的PageXoad of ASPX
中UserControl.OnRefreshRequired+= TAB TWICE;
在此方法中实现代码以刷新用户控件中的数据