C# 可编辑数据网格视图引发异常

C# 可编辑数据网格视图引发异常,c#,asp.net,datagridview,C#,Asp.net,Datagridview,我正在尝试创建一个可编辑的DataGridView,我已将“AutoGenerateEditButton”启用为true,但当我在页面上单击编辑时,它会抛出此例外 “System.Web.HttpException:GridView'GridView1'引发的事件 未处理的行编辑。“ 你知道为什么吗? 下面是我正在使用的代码 我还想知道如何将编辑后的值更新到datatable中,使其更新 Html 您需要为行编辑添加一个事件 请查看此处以了解更多信息: 添加onrowediting事件 &l

我正在尝试创建一个可编辑的DataGridView,我已将“
AutoGenerateEditButton
”启用为true,但当我在页面上单击编辑时,它会抛出此例外

“System.Web.HttpException:GridView'GridView1'引发的事件 未处理的行编辑。“

你知道为什么吗? 下面是我正在使用的代码

我还想知道如何将编辑后的值更新到datatable中,使其更新

Html
您需要为行编辑添加一个事件

请查看此处以了解更多信息:



添加onrowediting事件

<asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="True" 
                    Width="1060px" Onrowediting="Gridview_rowediting">

                </asp:GridView>


protected void Gridview_rowediting(object sender, GridViewEditEventArgs e)
{

}
protected void Gridview_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
   update();

}
private void update()
{
 DataTable dt = new DataTable();
 dt.Columns.Add("ab", typeof(string));
 dt.Columns.Add("ac", typeof(string));
 dt.Columns.Add("av", typeof(string));
 dt.Columns.Add("ax", typeof(string));
 DataRow row = dt.NewRow();
 row["ac"] = "newvalue";
 row["av"] = "newvalue";
 row["av"] = "newvalue";
 row["ax"] = "newvalue";
 dt.Rows.Add(row);
 GridView1.DataSource = dt;
 GridView1.DataBind();
 }

错误提示您尚未处理
OnRowEditing=“GridViewEditEventHandler”
事件。
如果默认的
编辑链接
是单击
网格视图

,则会触发该链接


您需要按如下方式处理
OnRowEditing

<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing"
         AutoGenerateEditButton="True" Width="1060px">
</asp:GridView>

一旦我添加了这个方法,是否还有其他代码要添加到该方法中,这会升级dt表吗?它会与编辑相竞争吗?但是当我单击“更新”时,它会抛出另一个例外。我使用了op update方法,但它不会更新数据表。有什么想法吗?上传时你遇到了什么异常。。
<asp:GridView ID="GridView1" runat="server" AutoGenerateEditButton="True" 
                    Width="1060px" Onrowediting="Gridview_rowediting">

                </asp:GridView>


protected void Gridview_rowediting(object sender, GridViewEditEventArgs e)
{

}
protected void Gridview_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
   update();

}
private void update()
{
 DataTable dt = new DataTable();
 dt.Columns.Add("ab", typeof(string));
 dt.Columns.Add("ac", typeof(string));
 dt.Columns.Add("av", typeof(string));
 dt.Columns.Add("ax", typeof(string));
 DataRow row = dt.NewRow();
 row["ac"] = "newvalue";
 row["av"] = "newvalue";
 row["av"] = "newvalue";
 row["ax"] = "newvalue";
 dt.Rows.Add(row);
 GridView1.DataSource = dt;
 GridView1.DataBind();
 }
<asp:GridView ID="GridView1" runat="server" OnRowEditing="GridView1_RowEditing"
         AutoGenerateEditButton="True" Width="1060px">
</asp:GridView>
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
{
  //  GridView1.SelectedIndex = e.NewEditIndex;
      //do your stuff here
    add();
}