1

UserControl (Search.ascx) を含む aspx ページ名 MakeRedemption.aspx があります。

MakeRedemption.aspx に Page_Prerender() があります。

Search.ascx の関数によって MakeRedemption.aspx から Page_Prerender() を呼び出す方法を教えてください。

それは次のようなものです:

実際、ユーザー コントロール ページの関数の 1 つにループがあります。

Page_Prerender (MakeRedemption.aspx) は、すべてのループが終了した後にトリガーされます。

私が欲しいのは: ループの各アイテムが終了する前に毎回、MakeRedemption.aspx で Page_Prerender をトリガーして何かを実行したいと考えています。
何かのようなもの :

for (int i = 0 ; i < 10 ; i ++)
{
//some code here

// I would like to trigger Page_Prerender here to do something before end of the loop.
}  // the Page_Prerender (in MakeRedemption.aspx) trigger after all the loop finish.

つまり、この for ループには i = 10 があるため、for ループ内で Page_Prerender を 10 回トリガーしたいと考えています。

aspx ファイルの私の PreRender 関数は次のとおりです。

protected void Page_Prerender(object sender, EventArgs e)
    {
        //some code here
    }

この Page_Prerender() が自動生成 OnPreRender() と見なされるかどうかはわかりません。

OnPreRender() の代わりにこの Page_Prerender() をトリガーしたいと思います。

ばかげた質問をしている場合は申し訳ありません。私はプログラミングとC#が初めてです。

親切なアドバイス。

ありがとう。

4

1 に答える 1

0

最後に、私はそれを行う方法を見つけました.oodngは次のとおりです: この次のコードをaspx.csページに追加します:

delegate void DelMethodWithoutParam();

protected void Page_Load(object sender, EventArgs e)
    {
        DelMethodWithoutParam delParam = new DelMethodWithoutParam(Page_prerender);
        this.ucSearchGifts.PageMethodWithNoParamRef = delParam;
    }
Page_prerender(){
//some code here...

}

次のコードをユーザー コントロール cs ページに追加します。

private System.Delegate _delNoParam;
    public Delegate PageMethodWithNoParamRef
    {
        set { _delNoParam = value; }
    }

    protected void Button1_Click(object sender, EventArgs e)
    {
        _delNoParam.DynamicInvoke();
    }

ユーザー コントロール ページの Button1 をクリックすると、親ページである aspx ページの Page_prerender() がトリガーされます。

于 2013-06-21T02:06:58.080 に答える