从UserControl页,调用父页中的Page_Prerender
本文关键字:Page Prerender UserControl 调用 | 更新日期: 2023-09-27 18:18:35
我有一个aspx页面名称MakeRedemption。
在MakeRedemption.aspx中有Page_Prerender() .
我想问,我如何从MakeRedemption调用Page_Prerender()。在Search.ascx.
内容如下:
实际上在我的用户控制页面的一个函数中有一个循环。
page_preender (MakeRedemption.aspx)将在所有循环结束后触发。
我想要的是:每次在循环的每个条目结束之前,我都想触发MakeRedemption上的Page_Prerender。Aspx做某事。
例如:
for (int i = 0 ; i < 10 ; i ++)
{
//some code here
// I would like to trigger Page_Prerender here to do something before end of the loop.
} // the Page_Prerender (in MakeRedemption.aspx) trigger after all the loop finish.
意味着,这个for循环有i = 10,因此,我想在for循环中触发Page_Prerender 10次。
我在aspx文件中的PreRender函数如下:
protected void Page_Prerender(object sender, EventArgs e)
{
//some code here
}
不确定Page_Prerender()是否被认为是自动生成的OnPreRender()
我想触发这个Page_Prerender()而不是OnPreRender()。
抱歉,如果我问了一个愚蠢的问题,我是编程和c#的新手。
请建议。
谢谢。
最后我找到了方法,步骤如下:在aspx.cs页面中添加以下代码:
delegate void DelMethodWithoutParam();
protected void Page_Load(object sender, EventArgs e)
{
DelMethodWithoutParam delParam = new DelMethodWithoutParam(Page_prerender);
this.ucSearchGifts.PageMethodWithNoParamRef = delParam;
}
Page_prerender(){
//some code here...
}
并在用户控件cs页面中添加以下代码:
private System.Delegate _delNoParam;
public Delegate PageMethodWithNoParamRef
{
set { _delNoParam = value; }
}
protected void Button1_Click(object sender, EventArgs e)
{
_delNoParam.DynamicInvoke();
}
当点击用户控制页中的Button1时,将触发aspx页中的Page_prerender(),即父页。