0

Page Loadイベント ハンドラーとボタン クリック イベント ハンドラーを持つ次のコードがあります。Page Loadハンドラーは、ページのライフ サイクルで期待されるように、ボタン クリックの前に呼び出されます。

Page Loadハンドラーの前にButton Clickハンドラーが呼び出されるシナリオはありますか? (何らかの検証制御などのため)。

Page_Loadが常に呼び出されることが保証されている場合はMyGetCount()、ボタン クリック ハンドラー内で関数を呼び出す必要はありません。

public partial class WebForm1 : System.Web.UI.Page
{

    int tableDataCount = 0;

    protected void Page_Load(object sender, EventArgs e)
    {
        string val = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
        //Get the count inside page load
        tableDataCount = MyGetCount();
    }

    protected void btnAction_Click(object sender, EventArgs e)
    {
        Response.Write(tableDataCount.ToString());
    }

    private int MyGetCount()
    {
        int count = 135;
        //Logic for count
        return count;
    }

}
4

3 に答える 3

4

保証されています。コントロール イベント ハンドラーは、ページの読み込みフェーズが完了した後に常に呼び出されます。参考のために、このMSDN の記事をチェックしてください。

于 2013-05-09T11:28:44.063 に答える
0

「任意のシナリオ」?すべての回答で述べられているように、ASP.Net ポストバック/ページ ライフ サイクルのシナリオではありませんが、「任意」を尋ねたので、メソッドをクライアント側スクリプトに (書き直して) 公開することができます。

これ実際には「ハンドラ」またはイベントに関するものではありませんが、メソッドに関するものです....

ちょっとした考え....

于 2013-05-09T12:41:42.670 に答える