【问题标题】:Getting value from a Gridview cell从 Gridview 单元格中获取值
【发布时间】:2013-03-20 00:01:14
【问题描述】:

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

这是 Gridview 的 asp 代码

我创建了一个 RowCommand 方法,当我按下 GridView 上的 Remove 按钮时,它应该给我第二列的 int 值。因此,例如,如果我要按下最后一个 Remove 按钮,它会给我一个 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

提前致谢

【问题讨论】:

  • 哪一行抛出异常?
  • 第 46 行:int bigStore = Convert.ToInt32(grdOrder.SelectedRow.Cells[2].Text);

标签: c# asp.net button gridview


【解决方案1】:

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);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-28
    • 1970-01-01
    • 1970-01-01
    • 2010-09-12
    • 2012-06-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多