从updatePanel中的链接按钮中删除行后,Gridview没有更新

本文关键字:Gridview 更新 删除行 updatePanel 链接 按钮 | 更新日期: 2023-09-27 18:16:49

我有一个链接按钮在gridview,当点击将更新数据库,并应从gridview中可见删除它。这也是在一个更新面板。当单击链接按钮时,数据库被更新,但是gridview永远不会刷新。gridview和linkbutton都是动态生成的。

链接按钮创建如下:'b'包含该行数据的唯一id。

if (e.Row.RowType == DataControlRowType.DataRow)
{     
        LinkButton lbRemove = new LinkButton();
        lbRemove.ID = "removeLink" + b;              
        lbRemove.Command += new CommandEventHandler(lbRemove_Click);
        lbRemove.Attributes.Add("onclick","return confirm('Are you sure?');");
        .......
        e.Row.Cells[6].Controls.Add((Control)lbRemove);

lbRemove_Click包含更新DB和调用griview来绑定和更新面板的方法:

protected void lbRemove_Click(object sender, CommandEventArgs e)
{                         
      removeFromUser(Convert.ToInt32(e.CommandArgument.ToString()));             
      loadGridviews(Convert.ToInt32(ViewState["currUserID"]));
      upnlUserDevices.Update();

我已经尝试在gridview之外使用与gridview中完全相同的属性创建一个链接按钮。当点击它调用相同的方法,它刷新gridview,只是不是当被点击从gridview本身。

如果你能帮忙的话,我在这个问题上有点卡住了。谢谢!

从updatePanel中的链接按钮中删除行后,Gridview没有更新

看看你的代码,它似乎是好的。我只能想到两个建议:

  1. 确保在loadGridViews()方法结束时对GridView进行数据绑定

    YourGridView.DataBind ();

  2. 确保你在绑定后更新了正确的UpdatePanel:

    upnlUserDevices.Update ();//upnlUserDevices是包裹GridView的UpdatePanel吗?

所以我找到了如何使它工作。

我需要设置linkbutton .CausesValidation = false

没有专家知道这到底是做什么的,但它确实解决了我的问题!

将此gridview放入更新面板