2

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
}
4

2 回答 2

0

那么代码示例来自您的按钮单击事件?

你确定你没有在回发时重新绑定你的数据源吗?

于 2008-09-17T02:22:11.997 回答
0

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

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

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

于 2008-09-17T02:36:51.650 回答