2017-04-26 60 views
0

当我按下编辑按钮后按下按钮以应用所做的更改时,我的gridview行更新按钮不起作用。我错过了什么吗?Gridview行更新按钮无法正常工作

我的代码看起来像这样

C#

protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e) 
{ 
    string afspraak = ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("EditAfspraak"))).Text; 
    string uitleg = ((TextBox)(GridView1.Rows[e.RowIndex].FindControl("EditUitleg"))).Text; 
    int id = Convert.ToInt32(((TextBox)(GridView1.Rows[e.RowIndex].FindControl("EditID"))).Text); 
    _controller.RecordUpdatenTblAfspraken(afspraak, uitleg, id); 
} 

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    GridView1.EditIndex = e.NewEditIndex; 
} 

protected void GridView1_RowCancelingEdit(object sender, GridViewCancelEditEventArgs e) 
{ 
    GridView1.EditIndex = -1; 
} 

ASP.NET

无法它正确因此它贴在这里:

https://pastebin.com/S3S09nLL

突出显示的按钮不工作 enter image description here

+0

你里面绑定在GridView(!Page.IsPostBack)? – user7415073

回答

1

您必须更改EditIndex后重新绑定网格。

protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e) 
{ 
    GridView1.EditIndex = e.NewEditIndex; 

    GridView1.DataSource = mijnDatabaseBron; 
    GridView1.DataBind(); 
} 

这同样适用于GridView1_RowCancelingEdit当更新已成功GridView1_RowUpdating。假设您将OnRowEditingOnRowCancelingEditOnRowUpdating事件添加到GridView。

也作为user7415073评论,GridView的绑定必须在IsPostBack检查。

protected void Page_Load(object sender, EventArgs e) 
{ 
    if (!Page.IsPostBack) 
    { 
     GridView1.DataSource = mijnDatabaseBron; 
     GridView1.DataBind(); 
    } 
} 

在这里看到我的答案,你怎么能轻易通过EditID到后面的代码。

Get old value of label inside GridView during RowUpdating (ASP.NET GridView) C#