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

本文关键字:WebForm 从外部 控制 我可以 | 更新日期: 2023-09-27 17:58:05

我有一些WebForms,比如First.ascx.csSecond.ascx.csThird.ascx.cs等等!

好吧,我想在PreInit阶段调用一个函数(比如说startFunction()),在PreRender阶段调用另一个(比如说,endFunction()),用于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有一个好的策略吗?

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

继承!

创建一个附加到这些事件的基本控件,然后从中派生。

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