R – delete row’s selected in Gridview in Asp.net

asp.netgridviewlinq

This Code has a problem , that I don't know what is that . this code must Delete row of gridview when selected.
I set AutoGenerateSelectButton = true then write this Code that don't work and have Exception from foreach.

protected void IDeletebtn_Click(object sender, EventArgs e)
{

    foreach (GridViewRow Items in InboxGrv.SelectedRow)
    {
        var delete = from del in MDB.Messages
                     where del.Subject == Items.Cells[0].Text.ToString()
                     select del;

        foreach (var Item in delete)
        {
            MDB.Messages.DeleteOnSubmit(Item);
        }

        MDB.SubmitChanges();
    }

}

Exception :

foreach statement cannot operate on variables of type 'System.Web.UI.WebControls.GridViewRow' because 'System.Web.UI.WebControls.GridViewRow' does not contain a public definition for 'GetEnumerator' C:\Documents and Settings\Tehrani\Desktop\MessageAdminPage\ADMIN\Inbox.aspx.cs 87 9 C:…\MessageAdminPage\

Best Answer

The exception is thrown because you are iterating an object that is not a collection. The InboxGrv.SelectedRow is the selected GridViewRow object.

Since, now you already have the GridViewRow object you can find the Id (PK) from the Row to delete the record in the database.

Related Topic