2

ASP.NET 1.1 - データバインドされた ASPX ページに DataGrid があり、テキスト ボックス内に値を表示します。ユーザーはこの値を変更できます。ボタンをクリックすると、コード ビハインドが基本的にグリッド内の各 DataGridItem を反復処理し、テキスト ボックスの ID に対して FindControl を実行し、.Text 値を変数に割り当てます。データベースを更新します。DataGrid は新しい値で再バインドされます。

私が抱えている問題は、変数に .Text 値を割り当てるときに、取得される値が元のデータバインドされた値であり、新しく入力されたユーザー値ではないことです。この動作の原因について何か考えはありますか?

コードサンプル:

foreach(DataGridItem dgi in exGrid.Items)
{
    TextBox Text1 = (TextBox)dgi.FindControl("TextID");
    string exValue = Text1.Text; //This is retrieving the original bound value not the newly entered value
    // do stuff with the new value
}
4

2 に答える 2

0

TextBox から値を取得しようとしているのはいつですか? つまり、あなたが提供したコード サンプルはいつ実行されますか?

まだ行っていない場合は、DataGrid の ItemCommand イベントのハンドラー メソッドを設定する必要があります。そのメソッド内で新しい TextBox 値を探す必要があります。また、ポストバック時に DataGrid が再データバインドされていないことを確認する必要があります。

また、DataGrid コントロールとそのすべての機能の使用に関する Scott Mitchell の優れた記事シリーズを読むことを強くお勧めします: http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

于 2008-09-17T02:36:51.650 に答える
0

コードサンプルはボタンクリックイベントからのものですか?

ポストバックでデータソースを再バインドしていませんか?

于 2008-09-17T02:22:11.997 に答える