我的 C# ASP.net 应用程序中有 gridview。
当用户编辑一行时,我要做的就是更新gridview的数据源(还不是数据库,因为我只是在最后将datagrid的数据源作为数据集推送到我的数据库中)。
但是我得到的值是旧值,而不是在 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,但它仍然是旧值....为什么会发生这种情况?
你不能只更新gridview而不更新任何其他数据集/源。因为我最后使用了gridview的整个数据源。