我有一个aspx页面名称MakeRedemption.aspx,其中有一个UserControl(Search.ascx)。
MakeRedemption.aspx中有Page_Prerender()。
我想问一下,如何通过Search.ascx中的函数从MakeRedemption.aspx调用Page_Prerender()。
具体如下:
实际上,我的“用户控制”页面中的某个功能中存在循环。
Page_Prerender(MakeRedemption.aspx)将在完成所有循环后触发。
我想要的是:
每次在循环的每个itme结束之前,我都想触发MakeRedemption.aspx上的Page_Prerender来做某事。
类似的东西:
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#的新手。
请告知。
感谢。
答案 0 :(得分:0)
最后我找到了办法,oodng如下: 在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(),即父页面。