我在DataGrid中一列里放了个Button控件、ItemCommand事件中写、点击button控件后、更新当前行中一个字段的值、然后调用函数重新邦定DataGrid。
现状是、如果我不单步调试、需要点击两次button后、修改后值才在DataGrid中表现出来、如果我单步调试、只要点一次button后、修改后值就在DataGrid中表现出来了。这是什么原因、难到是数据库更新和页面刷新之间有延时嘛、请指教。
以下是我前台代码
<asp:TemplateColumn HeaderText="(承認/取消)">
<HeaderStyle Wrap="False" HorizontalAlign="Left" Width="90px"></HeaderStyle>
<ItemStyle Wrap="False" HorizontalAlign="center" Width="90px"></ItemStyle>
<ItemTemplate>
<asp:Button id="btnAccept"  runat="server" Text="承認" CommandName="Accept"></asp:Button>
</ItemTemplate>
</asp:TemplateColumn>

解决方案 »

  1.   

    请检查Page_Load是否判断了回传 private void Page_Load(object sender, System.EventArgs e)
    {
    if (! IsPostBack ) 
    {
    BindDataGrid();//重新绑定数据的方法
    }
    }
      

  2.   

    我是有这样的操作。我在ItemCommand事件中也调用了GridBind啊
            If Not IsPostBack Then
              
                Call GridBind()
            End If
      

  3.   

    再说点击了button按钮不可能会进入if (! IsPostBack ) 的里面啊、又不是第一次加载。
      

  4.   

    1.不会是延时的问题,因为完全是同步的操作;
    2.检查form的提交方式,应该是post方式;
    3.DataGrid的button控件的事件触发的问题;
    if (e.CommandName=="Accept")
    {}
      

  5.   

    问题解决了、我在写writer类更新完数据库后忘了关闭数据连结了、我觉的还是延时的问题。