C# 无法在gridview asp.net c中获取未绑定字段的值#

C# 无法在gridview asp.net c中获取未绑定字段的值#,c#,asp.net,gridview,C#,Asp.net,Gridview,我正在尝试从gridview获取值 我使用一个存储过程为它设置数据源,假设gridview使用动态透视柱,所以我不能为它们创建绑定字段 下面是我试图获取文本框值及其标题值的代码 protected void dgvTask_SelectedIndexChanged(object sender, EventArgs e) { var grid = (GridView)sender; GridViewRow selectedRow = grid.SelectedRow; i

我正在尝试从gridview获取值

我使用一个存储过程为它设置数据源,假设gridview使用动态透视柱,所以我不能为它们创建绑定字段

下面是我试图获取文本框值及其标题值的代码

protected void dgvTask_SelectedIndexChanged(object sender, EventArgs e)
{
    var grid = (GridView)sender;
    GridViewRow selectedRow = grid.SelectedRow;

    int rowIndex = grid.SelectedIndex;
    int selectedCellIndex = int.Parse(this.SelectedGridCellIndex.Value);

    TextBox txtLogs = (TextBox)selectedRow.Cells[selectedCellIndex].FindControl("txtdata");
    string cellValue = txtLogs.Text;
    string headerValue = grid.HeaderRow.Cells[selectedCellIndex].Text;

    ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "alert('" + selectedCellIndex + "')", true);
    bindDgvTask();
}
我也试着用

string cellValue = grid.SelectedRow.Cells[selectedCellIndex].Text;
获取单元格值,但两者都返回以下错误

指定的参数超出了有效值的范围

selectedRow
不能错误,因为它只返回所选行的值。 当我选中selectedCellIndex时,它也会根据我单击的内容返回正确的值

但是当我尝试使用
行[0]时,单元格[0]
是我设置的唯一边界字段

<Columns>
    <asp:BoundField DataField="Task" HeaderText="Task">
        <ControlStyle BackColor="White" BorderColor="Black" />
        <ItemStyle BackColor="White" BorderColor="Black" BorderStyle="Solid" ForeColor="Black" />
    </asp:BoundField>
</Columns>

它返回正确的值

所以现在我很困惑,我是用错误的方法检索值,还是有不同的方法获取未绑定字段的值

提前谢谢