0

我可以知道在用户控件的页面加载完成后是否有任何方法可以从子页面(.aspx)调用方法?

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

简而言之

来自我的 .ASPX 文件

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

从我的用户控制

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

getValueFromuserControl()
{
return x;
}

由于ASP.NET 生命周期从子页面 (.aspx) page_load -> 用户控件 page_load 开始,我无法检索 x 的值。

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

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

4

1 回答 1

0

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

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

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

于 2015-04-28T02:45:12.727 回答