我想使用GridView更新XML数据源,我使用Rowupdating出现下边错误!应该怎么做??
不支持所指定的方法。
异常详细信息: System.NotSupportedException: 不支持所指定的方法。

解决方案 »

  1.   

    代码如下:protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
        {
            string adname = ((TextBox)GridView1.Rows[e.RowIndex].Cells[0].Controls[0]).Text.ToString();
            string adcode = ((TextBox)GridView1.Rows[e.RowIndex].Cells[1].Controls[0]).Text.ToString();
            GridViewRow row = gridview1.Rows[e.RowIndex];
            string filepath = HttpContext.Current.Server.MapPath(@"/XML/AD.xml");
            DataSet ds = new DataSet();
            ds.ReadXml(filepath);
            DataRow dr = ds.Tables[0].Rows[row.DataItemIndex];
            dr["title"] = adname;
            dr["code"] = adcode;
            ds.WriteXml(filepath);
            GridView1.DataSourceID = "XmlDataSource1";
            GridView1.DataBind();
        }
      

  2.   

    GridViewRow row = gridview1.Rows[e.RowIndex];
    打错大小写了,这行改成:
    GridViewRow row = GridView1.Rows[e.RowIndex];
      

  3.   

    在这个方法的最后加上 e.Cancel = true;
      

  4.   

    5楼的解决了,
    这句有什么用??为什么加上了就可以??分给你!!
    e.Cancel = true;
      

  5.   

    不过为什么更新完了后没有回到原来的状态,还停留在编辑状态??我使用自定义模板ItemTemplate和EditItemTemplate
      

  6.   

    e.Cancel = true; 表示取消使用GridView的缺省的数据更新操作。缺省的操作是在SqlDataSource中执行Update命令,这时候如果你没有在SqlDataSource中指定UpdateCommand,就会报错。要退出编辑模式,把GridView对象的当前编辑行设成-1,如:
    GridView1.EditIndex = -1;
      

  7.   

    说得不准确,在你的情况下,GridView会自动设法调用XmlDataSource的update方法(通过IDataSourceConrol/DataSourceView接口),但是XmlDataSource不支持自动更新。