我有一些WebForms,例如First.ascx.cs
,Second.ascx.cs
,Third.ascx.cs
等等!
好吧,我想在PreInit阶段调用一个函数(比方说,startFunction()
),另一个函数(比如endFunction()
)和PreRender阶段调用EACH上下文。
所以:
startFunction();
... First.ascx.cs PageLoad execution...
endFunction();
startFunction();
... Second.ascx.cs PageLoad execution...
endFunction();
startFunction();
... Third.ascx.cs PageLoad execution...
endFunction();
没有编写相同的开始/结束函数,并为我需要控制的每个上下文复制和粘贴。 .NET(3.5)和WebForms是否有一个很好的策略?
答案 0 :(得分:1)
继承!
创建一个basecontrol,您可以在其中附加这些事件,然后从中派生。
MarkzzzClass .cs
public abstract class MarkzzzClass : System.Web.UI.UserControl
{
//do something
}
BaseControl.cs:
public abstract class BaseControl : MarkzzzClass
{
protected override void OnPreRender(EventArgs e)
{
EndFunction();
base.OnPreRender(e);
}
protected override void OnInit(EventArgs e)
{
StartFunction();
base.OnInit(e);
}
}
First.ascx.cs:
public partial class First : BaseControl
{
protected void Page_Load(object sender, EventArgs e)
{
}
}