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

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

问题描述:

ASP.NET 1.1 - 我有一个aspx页面上的数据网格,它是数据绑定并在文本框中显示一个值。用户可以更改此值,然后单击一个按钮,其中后面的代码基本上遍历网格中的每个DataGridItem,为文本框的ID执行FindControl,然后将.Text值分配给一个变量,然后将该变量用于更新数据库。数据网格将与新值一起反弹。如何检索数据网格中的数据绑定文本框的更改值

我遇到的问题是,当将.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

嗨阿罗斯 是的,它是在button_click事件。 只检查page_load中的绑定...该死的 - 就是它 - 在button_click之前调用if(!Page.IsPostBack)之外的绑定。 谢谢 – acripps 2008-09-17 02:39:31

你什么时候试图从TextBox中检索值?即您提供的代码示例何时执行?

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

我也强烈建议通过斯科特·米切尔的优秀文章系列上使用DataGrid控件和它的所有阅读的功能: http://aspnet.4guysfromrolla.com/articles/040502-1.aspx

+0

感谢您的答案 - 这是由于datagrid在回发时被反弹,但Aros抢先。将检查链接 – acripps 2008-09-17 03:02:16