【问题标题】:Can't get values from rows/cells in GridView无法从 GridView 中的行/单元格获取值
【发布时间】:2009-01-12 21:47:50
【问题描述】:

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

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

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

【问题讨论】:

    标签: c# asp.net gridview


    【解决方案1】:

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

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

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

    【讨论】:

      【解决方案2】:

      单元格内部可能有控件(例如 LiteralControl 或超链接)。这就是您应该寻找的。​​p>

      row.Cells[1].Controls 收藏,你应该去找。

      【讨论】:

      • 这行得通!但是像这样从 ControlsCollection 指定索引:row.Cells[1].Controls[1];这是正常行为吗?
      【解决方案3】:

      它可能取决于很多事情。在填充 GridView 时(调用 Databind()),这段代码在哪里触发?

      没有任何上下文,很难说它还能是什么。

      【讨论】:

      • 我正在使用 RowDataBound 来处理 GridView 中的数据,顺便我会测试第一个答案,但是 ViewState 呢?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-28
      相关资源
      最近更新 更多