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
}
答案 0 :(得分:0)
所以代码示例来自您的按钮点击事件?
您确定不会在回发时重新绑定数据源吗?
答案 1 :(得分:0)
您何时尝试从TextBox中检索值?即您提供的代码示例何时被执行?
如果您还没有,则需要为DataGrid的ItemCommand事件设置处理程序方法。您应该在该方法中查找新的TextBox值。您还应该确保您的DataGrid不会在回发时重新数据绑定。
我还强烈建议阅读Scott Mitchell关于使用DataGrid控件及其所有功能的优秀文章系列: http://aspnet.4guysfromrolla.com/articles/040502-1.aspx