我可以从外部控制一些WebForm吗?

时间:2013-02-07 14:33:58

标签: c# asp.net .net webforms

我有一些WebForms,例如First.ascx.csSecond.ascx.csThird.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是否有一个很好的策略?

1 个答案:

答案 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)
    {

    }
}