加载用户控件后从父页面调用方法?
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 应该触发一个由页面处理的事件。
请问有什么方法可以在用户控件的页面加载完成后从子页面(.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 应该触发一个由页面处理的事件。