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

时间:2008-09-17 01:10:50

标签: c# asp.net datagrid textbox

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
}

2 个答案:

答案 0 :(得分:0)

所以代码示例来自您的按钮点击事件?

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

答案 1 :(得分:0)

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

如果您还没有,则需要为DataGrid的ItemCommand事件设置处理程序方法。您应该在该方法中查找新的TextBox值。您还应该确保您的DataGrid不会在回发时重新数据绑定。

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