1

Webサービスからのデータを表示するページがあります。最初にデータがセッションに存在するかどうかを確認し、存在しない場合はWSから取得します。

私のコントロールはWebサービスを呼び出し、データに別の行を追加します(この場合はSPリスト)。新しいアイテムが正常に追加されたら、セッションでリストを更新したいと思います。そうでない場合は、更新は必要ありません。

データがセッションに存在する場合でも、ページがWebサービスから新しいデータを取得するようにしたい。私の問題は、ボタンのイベントハンドラーが、コントロールを含むページのページ読み込みイベントの後に起動し、データが取得されてリピーターにバインドされることです。

イベントターゲットのチェックやpostparamsリストのボタン名のチェックなど、クライアント側のトリックを使用することを考えていましたが、私のボタンはサーバー側のコントロールであり、そのままにしておきたいと思います。

このタイプの状況に対するベストプラクティスの解決策はありますか?

4

2 に答える 2

0
void Page_Load()
{
    if(!Page.IsPostBack)
    {
         //call initial databind functions
         MyDataBindStuff();
    }
    else
    {
         //this is a postback, you may or may not want to do anyting
    }
}

private void MyDataBindStuff()
{
    //do databind work
}


void yourBtn_Click(Object sender, EventArgs e)
{
   //do work
   //now databind if needed after do work
   MyDataBindStuff();

}
于 2012-07-18T12:37:33.840 に答える
0

PreRenderイベントハンドラーでデータをバインドすることになったのです。このようにして、クリックイベントハンドラーでフラグを立てます。PreRenderはクリックイベントハンドラーの後に発生するため、フラグが立てられているかどうかを確認し、それに応じて動作することができます。

于 2012-07-21T08:47:30.780 に答える