1

ページの読み込み時に入力されているページにリピーターがあります

        con.Open();
        SqlDataReader postView = cmd.ExecuteReader();
        topicView.DataSource = postView;
        topicView.DataBind();

そして、投稿を追加するセクションがあります。ユーザーが[追加]を押すと、ページが再読み込みされ、更新されたリピーターが表示されます。しかし、それはこれをしていません

元のデータバインドがページの読み込みにあり、新しいデータバインドが保護された無効ボタンのクリックにあるため、データバインドが機能しないことを除いて、誰もがデータバインドをリロードするだけだと言っています。

誰かがこれを行う方法を教えてもらえますか、それともすべての接続、データソース、データバインド情報をボタンクリックコードに配置する必要がありますか?

4

2 に答える 2

3

ボタンクリックイベントが発生するたびに呼び出すことができる関数を作成できます

 Private void BindRepeater()
 {
     con.Open();
    SqlDataReader postView = cmd.ExecuteReader();
    topicView.DataSource = postView;
    topicView.DataBind();
  }

  Protected Button_Click(object as sender , EventArgs e)
 {
   //call the function to populate the repeater with the updated records
   this.BindRepeater();

  }
于 2012-05-23T03:01:04.843 に答える
2

このように解決できます。メソッドを作成する

private void Bind()
{
        con.Open();
        SqlDataReader postView = cmd.ExecuteReader();
        topicView.DataSource = postView;
        topicView.DataBind();
}

これで、リピーターをリロードする必要があるページのどこでも使用できます。

于 2012-05-23T03:06:12.237 に答える