2

我正在使用下面的代码来获取行索引

protected void gvESAPending_RowCommand(object sender, GridViewCommandEventArgs e)

    {
        try
        {
            lblMsg.Text = "";
            int index = Convert.ToInt32(e.CommandArgument);
            GridViewRow row = gvESAPending.Rows[index]; // Here incorrect format error is coming
        }
     }

但是索引值是0。这里有什么问题?

Aspx 代码

'>'>

4

2 回答 2

1

您可以添加 OnRowCreteEvent

ASPX:

<asp:gridview id="gvESAPending" onrowcreated="gvESAPending_RowCreated" ...

CS :

protected void gvESAPending_RowCreated(Object sender, GridViewRowEventArgs e)
  {
    if(e.Row.RowType == DataControlRowType.DataRow)
    {
      LinkButton addButton = (LinkButton)e.Row.Cells[0].Controls[0];

      addButton.CommandArgument = e.Row.RowIndex.ToString();
    }

  }
于 2012-12-21T13:24:00.233 回答
0
GridViewRow row = gvESAPending.Rows[index];

通过这样做,您实际上可以访问索引处的行。因此,如果 index = 2 您实际上返回了 gridviewrow 中的第三行。

于 2012-12-21T13:24:50.860 回答