在编辑模式下按";时,Gridview行;插入“;按钮asp.NETC#

在编辑模式下按";时,Gridview行;插入“;按钮asp.NETC#,c#,asp.net,gridview,C#,Asp.net,Gridview,我有一个gridview和griview下面的一些控件。我从“control”中插入值并按“insert”按钮,然后将值插入gridview行。这是我在控件中插入值时的gridview图像 然后按“插入”按钮 当我在griview中单击“编辑”按钮时,所选编辑行的值显示在“控件”下方,但当我更新控件中的值并再次单击“插入”时,该行将自动编辑数据,但我不希望这样,我希望当我再次单击“插入”时,该行不应在编辑模式下显示,这是图片 我希望当我点击“插入”按钮时,行值被替换为新值 这是我的aspx.

我有一个gridview和griview下面的一些控件。我从“control”中插入值并按“insert”按钮,然后将值插入gridview行。这是我在控件中插入值时的gridview图像 然后按“插入”按钮

当我在griview中单击“编辑”按钮时,所选编辑行的值显示在“控件”下方,但当我更新控件中的值并再次单击“插入”时,该行将自动编辑数据,但我不希望这样,我希望当我再次单击“插入”时,该行不应在编辑模式下显示,这是图片

我希望当我点击“插入”按钮时,行值被替换为新值

这是我的aspx.cs代码:

protected void Page_Load(object sender, EventArgs e)
{
    if (!Page.IsPostBack)
    {
        DataTable dt = new DataTable();
        dt.Columns.Add("ID", System.Type.GetType("System.Int32"));
        dt.Columns.Add("Column Name", System.Type.GetType("System.String"));
        dt.Columns.Add("Data Type", System.Type.GetType("System.String"));
        dt.Columns.Add("Allow Null", System.Type.GetType("System.Boolean"));
        dt.Columns.Add("Primary Key", System.Type.GetType("System.Boolean"));
        Session["MyDataTable"] = dt;
    }
}

protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
{

}

protected void Button1_Click(object sender, EventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    DataRow row1 = t.NewRow();
    row1["ID"] = t.Rows.Count + 1;
    row1["Column Name"] = TextBox1.Text;
    row1["Data Type"] = DropDownList1.Text;
    row1["Allow Null"] = Null.Checked == true ? "true" : "false";
    row1["Primary Key"] = Primary.Checked == true ? "true" : "false";
    t.Rows.Add(row1);
    Session["MyDataTable"] = t;
    GridView2.DataSource = t;
    GridView2.DataBind();
    TextBox1.Text = String.Empty;
    DropDownList1.Text = "Select DataType";
}

protected void GridView2_RowDeleting(object sender, GridViewDeleteEventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    t.Rows.RemoveAt(e.RowIndex);
    GridView2.DataSource = t;
    GridView2.DataBind();
}

protected void GridView2_RowEditing(object sender, GridViewEditEventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    //GridView2.EditIndex = e.NewEditIndex;
    // TextBox1.Enabled = true;
    //GridViewRow row = GridView2.Rows[e.NewEditIndex];
    TextBox1.Text =   GridView2.Rows[e.NewEditIndex].Cells[2].Text.ToString();
    DropDownList1.Text = GridView2.Rows[e.NewEditIndex].Cells[3].Text.ToString();
    GridView2.DataSource = t;
    GridView2.DataBind();
}

protected void GridView2_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    GridView2.EditIndex = -1;
    GridViewRow row = GridView2.Rows[e.RowIndex];
    GridView2.DataSource = t;
    GridView2.DataBind();
}

public void cancel(object sender, GridViewCancelEditEventArgs e)
{
    DataTable t = (DataTable)Session["MyDataTable"];
    GridView2.EditIndex = -1;
    GridViewRow row = GridView2.Rows[e.RowIndex];
    GridView2.DataSource = t;
    GridView2.DataBind();
}

我们需要查看一些底层代码,您是如何实现这一点的?向我们展示您的视图、Javascript和控制器中的一些代码,以便我们为您指明正确的方向。请检查我更新的问题。Soory,我忘了在这里发布代码。但是现在我已经发布了我的代码。请检查并给我回复。