如何在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似乎总是在最后执行并覆盖方法中的更改。这样对吗?如何更改方法内部的可见性?什么好主意吗?
谢谢你,再见!
尝试如下:
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
设置为变量时,该变量是通过值而不是通过引用来设置的,这意味着您没有引用实际的控件。