如何在c#中编辑gridviewit中的LinkButton可见性

本文关键字:gridviewit 中的 LinkButton 可见性 编辑 | 更新日期: 2023-09-27 18:06:28

我想知道如何在GridViewEdit中编辑LinkButton的可见性:

我在我的aspx-File中的GridView的ItemTemplate中有一个名为"lbtnActivateConfig"的链接按钮:

<ItemTemplate>
  <asp:LinkButton ID="lbtnActivateConfig" runat="server"
       OnClick="GridViewDeactivate" Visible="false">Deaktivieren
  </asp:LinkButton>
</ItemTemplate>

现在我想改变链接按钮在这个方法中的可见性:

protected void GridViewEdit(object sender, GridViewEditEventArgs e)
    {
        GridViewRow row = this.ConfigGridView.Rows[e.NewEditIndex];
        LinkButton buttonActivate = (LinkButton)ConfigGridView.Rows[row.RowIndex].FindControl("lbtnActivateConfig");
        buttonActivate.Visible = true;
    }

在调试时,它捕获LinkButton并似乎设置了它的可见性。但是LinkButton仍然是不可见的。

如果我在aspx-File中更改按钮为可见,并尝试在方法中更改它,情况也是一样的。

对我来说,aspx-File似乎总是在最后执行并覆盖方法中的更改。这样对吗?如何更改方法内部的可见性?什么好主意吗?

谢谢你,再见!

如何在c#中编辑gridviewit中的LinkButton可见性

尝试如下:

protected void GridViewEdit(object sender, GridViewEditEventArgs e)
{
    GridViewRow row = this.ConfigGridView.Rows[e.NewEditIndex];
    (ConfigGridView.Rows[row.RowIndex].FindControl("lbtnActivateConfig")).Visible = true;      
} 

您不需要将其转换为LinkButton,因为所有控件都具有Visible属性。当您将FindControl设置为变量时,该变量是通过值而不是通过引用来设置的,这意味着您没有引用实际的控件。