兄弟,datakeysfiled 指的记录 的关键字段,这个必须加上。我也出现同样的问题,我就是看了 xj1122(当当) 的提示后,搞成功的!以下是我的C#代码:
*.aspx:
...
<asp:datagrid id="admin_DataGrid"  DataKeyField="worker_id" style="Z-INDEX: 105; LEFT: 27px; POSITION: absolute; TOP: 139px" runat="server" Height="112px" Width="662px" AutoGenerateColumns="False" OnEditCommand="admin_DataGrid_Edit" OnUpdateCommand="admin_DataGrid_Update" OnCancelCommand="admin_DataGrid_Cancel" OnDeleteCommand="Delete" HorizontalAlign="Center" BorderColor="Black" PageSize="20">
...
*.CS:
public void Delete(Object sender,DataGridCommandEventArgs e)
{
SqlConnection cn=new SqlConnection(strConn);
String deleteCmd="DELETE from worker where worker_id = @worker_id ";
SqlCommand myCommand =   new SqlCommand(deleteCmd, cn);
myCommand.Parameters.Add(new SqlParameter("@worker_id",SqlDbType.BigInt));
myCommand.Parameters["@worker_id"].Value=admin_DataGrid.DataKeys[(int)e.Item.ItemIndex];

myCommand.Connection.Open();
myCommand.ExecuteNonQuery();
myCommand.Connection.Close();
admin_DataGrid.EditItemIndex = -1;
Bind();

}
你可以参考一下,我可以被这个问题困了几天了,现在终于解决!