无法从GridView中的行/单元格中获取值

时间:2009-01-12 21:47:51

标签: c# asp.net gridview

我正在尝试使用以下代码从GridView获取值:

foreach (GridViewRow row in this.dgvEstudios.Rows)
{
    var xy = row.Cells[1].Text;
}

总是得到一个空字符串("")作为从.Text返回的值,为什么会发生这种情况?我已将EnableViewState设置为true

3 个答案:

答案 0 :(得分:4)

如果每个单元格中都有控件,则需要获取如下值:

Label lblEmailAddress = GridView.Rows[e.CommandArgument].FindControl("lblEmailAddress");
string Email = lblEmailAddress.Text;

在这种情况下,它是单元格中的控件,其值不是单元格iteslf。

答案 1 :(得分:2)

单元格内部可能有控件(例如LiteralControl或HyperLink)。这就是你应该寻找的。

row.Cells[1].Controls 集合,你应该寻找。

答案 2 :(得分:1)

它可能取决于很多东西..这个代码在填充GridView时被触发了什么(Databind()被调用)?

没有任何背景,很难说它还能是什么。