我有一个位于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.
}
}
答案 0 :(得分:0)
使用GridView的DataBound事件获取行数。