0

C# ASP.net アプリケーションに gridview があります。

ユーザーが行を編集するとき、私がやりたいことは、グリッドビューのデータソースを更新することだけです (データベースはまだ更新していません。最後にデータグリッドのデータソースを取得し、それをデータセットとしてデータベースにプッシュしているだけなので)。

しかし、取得した値は古い値であり、グリッドビューで編集している更新された値ではありません。

なぜこうなった?私はこれらのリンクに関するすべてのアドバイスに従っています。

    protected void grdViewDetails_RowUpdating(object sender, GridViewUpdateEventArgs e)
    {
        GridViewRow row = (GridViewRow)grdViewDetails.Rows[e.RowIndex];
        int adsf = row.Controls.Count;

        foreach (Control item in row.Controls)
        {
            if (item.Controls[0] is TextBox)
           {
               TextBox textbox = (TextBox)item.Controls[0];
               string x = textbox.Text;

//on the second for loop the string variable x = Employee1
           }
           if (item.Controls[0] is Label)
           {
               Label mylabel = (Label)item;
               //do stuff
           }

ここに画像の説明を入力

ここに画像の説明を入力

テキストボックス変数 x は xxxxxxx である必要がありますが、それでも古い値です....なぜこれが起こるのですか?

他のデータセット/ソースを更新せずにグリッドビューを更新するだけではいけません。最後にグリッドビューのデータソース全体を使用するためです。

4

1 に答える 1