如何在DataGrid中检索数据绑定文本框的更改值

时间:2020-03-05 18:57:37  来源:igfitidea点击:

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
}

解决方案

回答

那么代码示例来自按钮单击事件?

我们确定不会在回发时重新绑定数据源吗?

回答

我们何时尝试从TextBox检索值?即我们提供的代码示例何时执行?

如果尚未安装,则需要为DataGrid的ItemCommand事件设置处理程序方法。我们应该在该方法中寻找新的TextBox值。我们还应该确保在回发时不会重新绑定DataGrid。

我也强烈建议我们阅读Scott Mitchell关于使用DataGrid控件及其所有功能的出色文章系列:
http://aspnet.4guysfromrolla.com/articles/040502-1.aspx