0

こんばんは、誰かがasp.netのコードを修正するのを手伝ってくれるように頼みました、彼女は私に彼女のコードを見せてくれましたが、私はそれを修正する方法を見つけることができませんでした。それ。

彼女が言ったように、彼女はasp.net(net f.4)を使用しています。ページにグリッドビューを追加し、sqldatasourceを使用してデータテーブルからグリッドビューに情報をバインドしました。

  • 目的は、GridView row_updatingで、条件がtrueの場合、現在の編集行の特定のセルが新しい値で更新されることです。しかし、ここに問題があります:

  • グリッドビューに2つの行があるとしましょう!

  • 最初の行の編集ボタンをクリックしてから更新ボタンを押しても何も起こりません。
  • しかし、2番目の行の編集ボタンをクリックすると、最初の行の更新されたセルの更新された値が表示され、[更新]または[キャンセル]をクリックすると、値が表示されなくなります。
  • また、データテーブルでは値は更新されません。

誰かが私がそれを修正するのを手伝ってもらえますか?

ありがとう

4

2 に答える 2

0

これは、Updateステートメントの実行後にグリッドビューを更新していないためです。gridviewで更新した後、DataBind()を呼び出す必要があります

GridView1.DataSource = yourDataSource;
GridView1.DataBind();
于 2012-04-17T17:51:30.757 に答える
0

IDプロパティにを割り当てる必要がありDataKeyNamesます。そうすると、次のような値を取得できます。

<asp:GridView ID="GridView1" runat="server" DataKeyNames="ID" ...>

そして、コードビハインドでは、次のようなIDを取得できます。

var ID = (int)GridView1.DataKeys[e.RowIndex]["ID"];
于 2012-04-17T17:55:26.513 に答える