网格视图Row_Command问题

时间:2012-04-25 06:34:44

标签: c# asp.net gridview

我的gridview行命令代码看起来像

protected void GridView_Admins_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        GridView sourceGrid = sender as GridView;

        int currentIndex = 0;
        GridViewRow currentRow = null;

        if (string.Compare(e.CommandName, "SHOW", true) == 0)
        {
            if (int.TryParse(e.CommandArgument.ToString(), out currentIndex))
            {

                currentRow = sourceGrid.Rows[currentIndex];

                if (long.TryParse(sourceGrid.DataKeys[currentRow.RowIndex].Values["EmployeeID"].ToString(), out this.employeeId))
                    this.ShowAdministrativeRightsForUser();
            }
        }
    }

我也在gridview中启用了分页功能。当我想编辑记录时,我点击特定的单元格,我可以编辑记录。但是,当我在第二页上单击一个单元格来编辑记录时,我在第currentRow = sourceGrid.Rows[currentIndex];行收到错误,指出索引超出范围。 什么可能是错的?

1 个答案:

答案 0 :(得分:0)

使用它来获取索引:

int index = Convert.ToInt32(e.CommandArgument);