0

First.ascx.cs、などの Web フォームがありSecond.ascx.csますThird.ascx.cs

startFunction()さて、それぞれのコンテキストに対して、PreInit ステージで関数 (たとえば ) を呼び出し、別の関数 (たとえば ) と 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

継承!

これらのイベントにアタッチし、そこから派生する 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);
    }
}

最初の.ascx.cs:

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

    }
}
于 2013-02-07T15:10:17.793 に答える