从Gridview单元格中获取价值

我正在尝试从GridView获取一个int值。 这是我的gridview的截图。

gridview截图

这是Gridview的asp代码

我创建了一个RowCommand方法,当我按下GridView上的Remove按钮时,它假设给我第二列的int值。 因此,例如,如果我按下最后一个删除按钮,它将给我一个int值为5。

这是我的方法的代码隐藏

protected void grdOrder_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "Remove") { int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text); clsStockCollection AnId = new clsStockCollection(); clsStock TheOrder = new clsStock(); TheOrder.OrderId = bigStore; AnId.DeleteOrder(TheOrder); DataCall(); } } 

当我运行此代码时,我收到此错误。 你调用的对象是空的。

我不明白我需要如何或为什么需要引用一个对象,例如:Object As New Object。 为什么我需要这样做?

以下是完整类的代码隐藏:pastebin.com/yzLR7s2w

提前谢谢

SelectedRows仅返回已选择的行; 没有选择你将得不到任何东西。 而不是int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text); 尝试:

 int rowIndex = Convert.ToInt32(e.CommandArgument); // Get the current row int bigStore = Convert.ToInt32(grdOrder.Rows[rowIndex].Cells[2].Text);