C# 无法在gridview asp.net c中获取未绑定字段的值#
我正在尝试从gridview获取值 我使用一个存储过程为它设置数据源,假设gridview使用动态透视柱,所以我不能为它们创建绑定字段 下面是我试图获取文本框值及其标题值的代码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
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>
它返回正确的值
所以现在我很困惑,我是用错误的方法检索值,还是有不同的方法获取未绑定字段的值
提前谢谢