你的理解错了,因为table.DefaultView.RowFilter="id="+Request["id"];
在此是没有作用的,
table是不变的,只是tableview变了
所以int id=Convert.ToInt32(table.Row[0]["id"].ToString());  
取的数据始终都是表的第一条数据。因为是desc所以是最后一条记录。