加载用户控件后从父页面调用方法?

Invoking a method from the parent page after user control has been loaded?

请问有什么方法可以在用户控件的页面加载完成后从子页面(.aspx)调用方法吗?

现在我遇到无法从子页面检索值的问题,因为用户控件中的变量尚未分配值。

简单来说

来自我的 .ASPX 文件

Page_Load(object sender, EventArgs e)
{
 x = getValueFromUserControl();
}

来自我的用户控制

Page_Load(object sender, EventArgs e)
{ 
int x = getvalueFromDatabase();
}

getValueFromuserControl()
{
return x;
}

由于 ASP.NET Life Cycle 来自子页面 (.aspx) page_load -> 用户控件 page_load,我无法检索 x 的值。

也就是说,理想情况下我不想将函数放在子页面中并从用户控件调用它,因为其他页面正在使用用户控件。

简而言之,我想在我的用户控件中的 page_load 结束后从我的 .aspx 页面调用一个方法,谢谢!

在稍后的页面事件中获取值:

protected override void OnLoadComplete(EventArgs e) {
   x = getValueFromUserControl();
}

当然,除非有特定原因必须在 Page_Load 上获取值。还有其他可能更合适的方法来处理这个问题,但不知道 x 是什么以及你需要用它做什么,很难给出任何其他建议。例如,也许 UserControl 应该触发一个由页面处理的事件。