0

我有一些 WebForms,例如First.ascx.cs,Second.ascx.cs等等Third.ascx.cs

好吧,我想在 PreInit 阶段调用一个函数(比方说, ),并为每个上下文调用startFunction()另一个(比方说, )和 PreRender 阶段。endFunction()

所以:

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 有没有好的策略?

4

1 回答 1

1

遗产!

创建一个基本控件,您可以在其中附加到这些事件,然后从中派生。

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);
    }
}

首先.ascx.cs:

public partial class First : BaseControl
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
于 2013-02-07T15:10:17.793 回答