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 である必要がありますが、それでも古い値です....なぜこれが起こるのですか?
他のデータセット/ソースを更新せずにグリッドビューを更新するだけではいけません。最後にグリッドビューのデータソース全体を使用するためです。