如何检索数据网格中数据绑定文本框的更改值
题
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 检索值?IE。您提供的代码示例什么时候执行?
如果您还没有准备好,您将需要为 DataGrid 的 ItemCommand 事件设置一个处理程序方法。您应该在该方法中查找新的 TextBox 值。您还应该确保您的 DataGrid 不会在回发时重新数据绑定。
我还强烈建议阅读 Scott Mitchell 关于使用 DataGrid 控件及其所有功能的优秀文章系列:http://aspnet.4guysfromrolla.com/articles/040502-1.aspx
不隶属于 StackOverflow