如何检索数据网格中的数据绑定文本框的更改值
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
}
感谢
因此,代码样本是从您的按钮单击事件?
你确定你没有重新绑定你的数据源在回发?
你什么时候试图从TextBox中检索值?即您提供的代码示例何时执行?
如果您还没有,则需要为DataGrid的ItemCommand事件设置处理程序方法。您应该在该方法中查找新的TextBox值。你还应该确保你的DataGrid在回发时不会被重新绑定。
我也强烈建议通过斯科特·米切尔的优秀文章系列上使用DataGrid控件和它的所有阅读的功能: http://aspnet.4guysfromrolla.com/articles/040502-1.aspx
感谢您的答案 - 这是由于datagrid在回发时被反弹,但Aros抢先。将检查链接 – acripps 2008-09-17 03:02:16
嗨阿罗斯 是的,它是在button_click事件。 只检查page_load中的绑定...该死的 - 就是它 - 在button_click之前调用if(!Page.IsPostBack)之外的绑定。 谢谢 – acripps 2008-09-17 02:39:31