我正在尝试使用以下代码从GridView获取值:
foreach (GridViewRow row in this.dgvEstudios.Rows)
{
var xy = row.Cells[1].Text;
}
总是得到一个空字符串(""
)作为从.Text
返回的值,为什么会发生这种情况?我已将EnableViewState
设置为true
答案 0 :(得分:4)
如果每个单元格中都有控件,则需要获取如下值:
Label lblEmailAddress = GridView.Rows[e.CommandArgument].FindControl("lblEmailAddress");
string Email = lblEmailAddress.Text;
在这种情况下,它是单元格中的控件,其值不是单元格iteslf。
答案 1 :(得分:2)
单元格内部可能有控件(例如LiteralControl或HyperLink)。这就是你应该寻找的。 p>
row.Cells[1].Controls
集合,你应该寻找。
答案 2 :(得分:1)
它可能取决于很多东西..这个代码在填充GridView时被触发了什么(Databind()被调用)?
没有任何背景,很难说它还能是什么。