我在gridview中有一个链接按钮,单击该按钮会更新数据库,并应将其从网格视图中删除。这也在更新面板中。 单击链接按钮时,DB将更新,但gridview永远不会刷新。 gridview和linkbuttons都是动态生成的。
链接按钮创建如下: '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包含更新数据库的方法并调用griview来绑定amd更新面板:
protected void lbRemove_Click(object sender, CommandEventArgs e)
{
removeFromUser(Convert.ToInt32(e.CommandArgument.ToString()));
loadGridviews(Convert.ToInt32(ViewState["currUserID"]));
upnlUserDevices.Update();
我尝试使用与gridview中完全相同的属性在gridview外部创建链接按钮。单击时,它会调用相同的方法并刷新网格视图,而不是在gridview本身中单击时。
如果你可以帮忙的话就会卡在这一点上? 谢谢!
答案 0 :(得分:1)
看看你的代码似乎没问题。我只能想到两个建议:
确保您在方法loadGridViews()
的末尾对DataView执行DataBindYourGridView.DataBind();
确保在执行绑定后更新正确的UpdatePanel:
upnlUserDevices.Update(); // upnlUserDevices包装GridView的UpdatePanel?
希望这有帮助。
答案 1 :(得分:0)
将此gridview
放入更新面板
答案 2 :(得分:0)
所以我发现了如何使这项工作。
我需要设置linkbutton .CausesValidation = false
没有这方面的专家,但确实解决了我的问题!