在Gridview混淆中编辑项模板TextBox值

时间:2013-07-08 20:10:16

标签: c# asp.net gridview textbox edititemtemplate

我有一个带有编辑命令域的gridview。 在网格视图的一个模板字段中,我在编辑项目模板中有一个文本框。 在RowUpdating事件中,我尝试获取文本框的值。

TextBox text = (TextBox)GridView1.Rows[e.RowIndex].FindControl("txtfname");

GridViewRow row =GridView1.Rows[e.RowIndex] as  GridViewRow;

TextBox tFirstName = row.FindControl("txtfname") as TextBox;

TextBox textFName = (TextBox)row.Cells[0].Controls[3];

我尝试了所有三种方法。当我把

if(!IsPostBack)Bind_grid();

我将textbox.text值设置为空。如果删除该条件,我会在标记页面中使用Bind函数获取绑定在控件上的值。我从未得到我在控件中编辑的值。

我哪里错了?溶液

1 个答案:

答案 0 :(得分:0)

我猜你的网格已启用分页。因此,您将获得网格中显示的行的索引(而不是数据源)。

例如:您位于网格的2页,每页有10个项目。您单击第3行上的编辑。 e.RowIndex将为2。

如果你想把它映射到你的数据源,这应该是......((第-1页)*项目)+索引;

((2-1)* 10)+ 2 = 12

因此,在您的数据源中,您应该获得位置12上的项目。