0

我正在尝试ButtonGridView.

<asp:ButtonField ButtonType="Button" CommandName="Delete" Text="Delete" />

我有一个三层应用程序,我将在此示例中将其组合成一个函数:

protected void GV1_RowCommand(object sender, GridViewCommandEventArgs e)
{
    if (e.CommandName == "Delete")
    {
        var deletion = (HRA_internalLesion) GV1.SelectedRow.DataItem;
        DataContext conn = new DataContext();

        conn.HRA_internalLesions.DeleteOnSubmit(deletion); 
        conn.SubmitChanges();
    }
}

我确定该var deletion行没有返回我想要的 Linq to SQL 对象。

4

1 回答 1

0

最初呈现控件后,该DataItem属性不可用。如果您想这样做,您必须从页面上的字段重新创建数据对象。

编辑:

来自MSDN

DataItem 属性仅在 GridView 控件的 RowDataBound 事件期间和之后可用。

我不确定为什么它说“和之后”——这对我来说是一种令人困惑的语言——但尽管如此,有书面证据。

于 2011-11-03T20:13:28.817 回答