更新代码不是在ItemUpdating事件中写的。
当单击 DetailsView 控件中的“更新”按钮时,在更新操作之前会引发 ItemUpdating 事件。因此,可以提供一个事件处理程序,使之在每次发生此事件时执行一个自定义例程(如取消更新操作)。DetailsViewUpdateEventArgs 对象将被传递给事件处理程序,以便您可以确定所更新的记录的索引,还可以指示更新操作应取消。若要取消更新操作,请将 Cancel 属性设置为 true。如有必要,还可在将值传递给数据源之前对 Keys、OldValues 和 NewValues 集合进行操作。使用这些集合的一个常用方式是:在将用户提供的值存入数据源之前对这些值进行 HTML 编码。这有助于防范脚本注入攻击。

解决方案 »

  1.   

     首先在  detailsview 属性中指定 它的主键值   DataKeyNames =‘主键字段’
     然后  protected   void   DetailsViewClient_ItemUpdating(object   sender,   DetailsViewUpdateEventArgs   e) 
            { 
                      //该如何写??????                  string id = DetailsView1.DataKey.Value.ToString();   //获取当前视图数据的 主键值  
                     string strSql = string.Format("update 表名 set 字段= 修改后的值 where 主键 = {0}",id);
                   Response.Write(strSql );  这里把更新语句写对就好了 
                     DetailsViewClient.DataBind();   更新完后绑定就可以了!          }