更新面板中的ASP.NET GridView和GridView Row.Count

时间:2014-08-14 08:16:50

标签: c# asp.net gridview

我有一个位于UpdatePanel中的ASP.NET GridView。在GridView上,我有一个OnRowCommand,用于从Grid中删除或更新行。一切正常。行被删除,用户看到它们从屏幕上消失。一切都应该如此。在其他情况下,用户使用OnRowCommand更新这些行上的数量字段。这也很好。

但是现在,在UpdatePanel之外有一个按钮;处理GridView行。这就是问题所在。从GridView中删除所有行(记录),然后单击进程按钮后,后面的代码仍然看到GridView.Rows.Count = 1,而不是0.

有人能指出一些关于如何更好地利用UpdatePanel,GridView和按钮/回发的组合的信息吗?我确定有办法处理这个,所以我不会遇到这个错误。

一些代码:

 protected void gvLines_RowCommand(object sender, GridViewCommandEventArgs e)
 {
   //fired from a button, on a grid row which sits in an ASP.NET Update Panel!
   //some db work to delete a line from the grid.
   //bind the grid lines again to correctly see the remaining lines
 }

 protected void btnConfirmOrder_Click(object sender, EventArgs e)
 {
   foreach (GridViewRow gvr in gvBasketLines.Rows)
   {
      //when running this code in a button click/postback, 
      //ASP.NET still thinks that the line we just removed still exists.
   }
 }

1 个答案:

答案 0 :(得分:0)

使用GridView的DataBound事件获取行数。