2016-05-12 54 views
0

我有一个GridView,它在编辑模式下工作,但更新后,它不会回到正常(非编辑)模式。 gridview.EditIndex = -1不起作用。GridView1.EditIndex = -1不工作

这里的设计:

<asp:TemplateField ItemStyle-Width="" HeaderText="Action"> 
    <EditItemTemplate> 
     <asp:LinkButton ID="lnkUpdate" runat="server" CommandName="Update" CssClass="btn btn-xs btn-primary" 
      Text="<i class='fa fa-pencil-square-o' style='color:black'></i> Update"></asp:LinkButton> 
     <asp:LinkButton ID="lnlCancel" runat="server" CommandName="Cancel" CssClass="btn btn-xs btn-success" 
      Text="<i class='fa fa-ban' style='color:black'></i> Cancel"></asp:LinkButton> 
    </EditItemTemplate> 
    <ItemTemplate> 
     <asp:LinkButton ID="lnkedit" runat="server" CssClass="btn btn-xs btn-primary" Text="<i class='fa fa-pencil' style='color:black'></i> Edit" 
      CommandName="Edit"></asp:LinkButton> 
     <asp:LinkButton ID="lnkNotify" runat="server" CssClass="btn btn-xs btn-success" 
      CommandArgument='<%# Eval("ID")%>' 
      OnClientClick="return confirm('Do you want to send notification?')" 
      Text="<i class='fa fa-bell-o' style='color:black'></i> Notify" OnClick="Notify"></asp:LinkButton> 
     <asp:LinkButton ID="lnkRemove" runat="server" CssClass="btn btn-xs btn-danger" 
      CommandArgument='<%# Eval("ID")%>' 
      OnClientClick="return confirm('Do you want to delete?')" 
      Text="<i class='fa fa-trash-o' style='color:black'></i> Delete" OnClick="Delete"></asp:LinkButton> 
    </ItemTemplate> 
</asp:TemplateField> 

下面是C#代码:

protected void UpdateInfo(object sender, GridViewUpdateEventArgs e) 
{ 
    try 
    { 
     GridViewRow row = gv.Rows[e.RowIndex]; 
     new dalSchool().UpdateLandInfo(row, Session["Uid"].ToString()); 
     BindData(); 
     gv.EditIndex = -1; 
     MessageController.Show(MessageCode.UpdateSucceeded, MessageType.Confirmation, Page); 
    } 
    catch (Exception ex) 
    { 
     MessageController.Show(MessageCode.UpdateFailed, MessageType.Error, Page); 
    } 
} 

回答

0

您需要设置前EditIndex你绑定GridView的。

protected void UpdateInfo(object sender, GridViewUpdateEventArgs e) 
{ 
    try 
    { 
     GridViewRow row = gv.Rows[e.RowIndex]; 
     new dalSchool().UpdateLandInfo(row, Session["Uid"].ToString()); 
     gv.EditIndex = -1; 
     BindData(); 
     MessageController.Show(MessageCode.UpdateSucceeded, MessageType.Confirmation, Page); 
    } 
    catch (Exception ex) 
    { 
     MessageController.Show(MessageCode.UpdateFailed, MessageType.Error, Page); 
    } 
} 
+0

我也试过,但同样的问题。 –