0

ASP.NET には非常に単純な問題があり、さまざまな形式で既に遭遇しましたが、答えが見つかりませんでした。

問題は、ポストバック イベント (OnClickボタンのイベントなど) に応答していくつかの計算を行いたいことGridViewですDataObjectSource

問題は、イベントDataObjectSourceを実行する前に、ページのライフサイクルが を埋めようとすることです。OnClickこの順序が一般的に理にかなっている理由はわかりますが、それが機能するようにコードを変更する方法がわかりません。結果変数を初期化するかどうかに応じて、null Pointer 例外が発生するか、単に空のテーブルが発生します。

コードの関連部分を次に示します。

Page_Load() 
{
    GridView1.Visible = IsPostBack;
}

DataTable result;

Btn_Click()
{
    // do some calculations
    result = ...;
}

GetData()
{
    return result;
}

GetData()以前に呼び出されたように、Btn_Click()テーブルは空です (またはnullここでも)。

4

1 に答える 1