Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么索引超出范围异常?_C#_Asp.net_C# 4.0_Gridview_Webforms - Fatal编程技术网

C# 为什么索引超出范围异常?

C# 为什么索引超出范围异常?,c#,asp.net,c#-4.0,gridview,webforms,C#,Asp.net,C# 4.0,Gridview,Webforms,我使用此代码获取gridview中最后一行的索引,然后将空字符串放入特定单元格,但抛出错误:索引超出范围 protected void grdViewAdvances_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { int RowIndex = grdViewAdvances.Rows.Count-1

我使用此代码获取gridview中最后一行的索引,然后将空字符串放入特定单元格,但抛出错误:
索引超出范围

protected void grdViewAdvances_RowDataBound(object sender, GridViewRowEventArgs e)
{
    if (e.Row.RowType == DataControlRowType.DataRow) 
    {
        int RowIndex = grdViewAdvances.Rows.Count-1 ;

        grdViewAdvances.Rows[RowIndex].Cells[5].Text = "";
    }

每行RowDataBound事件的行数都将更改。如果要更改最后一行列的文本,请让绑定过程完成,并在RowDataBound之后分配空字符串

您可能需要在
DataBind()方法之后执行此操作

grdViewAdvances.DataSource = dt;
grdViewAdvances.DataBind();
grdViewAdvances.Rows[RowIndex].Cells[5].Text = "";
编辑


我刚刚调试了代码,当第一次在if语句下执行代码时,行计数为零,从中减去一将得到行=-1,这肯定是超出了绑定索引。

GridView中有多少列?@Adil Guess>=5。尝试在单元格中给出3或4,以检查是否是由于列或行不工作造成的任何列为什么不在抛出异常时检查行和单元格的计数,并让我们知道它们。但我仍然不明白为什么数据绑定事件失败?它应该为mey提供索引You are welcome,当前行在实际触发RowDataBound时不会添加到GridView中。我希望你能理解。