做了一个ADO.net练习,用DataList控件做数据库更新,private void DataList1_UpdateCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
/*.....
           .....
         */
     //执行更新前应先指定更新的主键,我在该函数中指明主键执行时提示DataKeys越界,为什么?
     //   DataList1.DataKeyField="au_id";   //error     string id=this.DataList1.DataKeys[e.Item.ItemIndex].ToString();             /*...
             ...*/
          }
之后我修改了一下,在该函数执行之前但在上次DataList1.DataBind()之后加上了DataList1.DataKeyField="au_id";ok!两者效果不是一样的吗?