c# - 无法更改 CodeBehind 中 LinkBut​​ton 的属性

标签 c# asp.net linkbutton

我在一件简单的事情上遇到了麻烦,我已经做了一百万次了,但是这一次,我不能。

我的 Gridview 中有 LinkBut​​tons,例如

<asp:TemplateField>
    <ItemTemplate>
        <asp:LinkButton ID="GVCon_TFEdit" runat="server" CssClass="eh_label_style" CommandArgument="Edit" CommandName="Edit" Text="Edit"></asp:LinkButton>
    </ItemTemplate>
</asp:TemplateField>

那些我已经有六次了。 始终是一个编辑按钮和一个删除链接按钮。

然后我尝试在第 5 行代码隐藏中更改它们的可见性(如果我将其注释掉,则在第 6 行等):

1    protected void Page_PreRenderComplete(object sender, EventArgs e)
2            {
3                if (Session["Permissions"].ToString() == "User")
4                {
5                    GVComp_TFDelete.Visible = false;
6                    GVComp_TFEdit.Visible = false;
7                    GVCon_TFDelete.Visible = false;
8                    GVCon_TFEdit.Visible = false;
9                    GVMatr_TFDelete.Visible = false;
10                   GVMatr_TFEdit.Visible = false;

但它总是给我带来众所周知的异常(exception):

Operation is not valid due to the current state of the object

嗯 - 我确信该对象不再为空?! (Session["Permissions"] 也肯定不为 null,因为它正在 PreLoad 中获取他的状态……)

也许我必须告诉你更多,因为我之前遇到过那些 LinkBut​​ton 的问题 ^^ 所以 - 在这些 TemplateFields 中,我有完全相同的 LinkBut​​tons,然后我更改了这些 LB 的名称,从那时起我就无法在 CodeBehind 中使用它们。 这是因为它们不再存在于设计师文件中...... 所以我尝试了很多在inet中找到的提示,还有这里的提示 - 但它们没有起作用(比如重 build 计文件,将新的LinkBut​​tons写入aspx文件,我还确保该文件位于正确的文件夹中等...)没有任何作用。 所以我手动将它们添加到 Designer.cs 中。现在我可以在代码隐藏中“使用”它们,但是当我开始调试时 - 它会遇到此错误。

如果你能帮助我,那就太好了,这太烦人了......

最佳答案

您还可以通过这种方式找到 RowCommand 事件

LinkButton name = (LinkButton)gridview.Rows[index].FindControl("lnkbtnActionNames");

name.visible=false;

关于c# - 无法更改 CodeBehind 中 LinkBut​​ton 的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17986890/

相关文章:

asp.net - 如何为中继器中的LinkBut​​ton执行AsyncPostBackTrigger

c# - 如何使用 .net admin sdk 添加指向 firebase 云消息传递的链接

c# - 在不验证签名的情况下确定pdf文件是否在c#中具有数字签名

c# - 即使应用程序关闭后,让我的计数器分数保存最高分

c# - 不会使用executeScalar()检查用户是否存在

c# - 将 LinkBut​​ton 的 OnClick 事件设置为代码隐藏中的方法

c# - 为构造函数实现策略

c# - 如何从嵌套母版页中的内容页访问主母版页中的控件

asp.net - Linq to Entities 和 SQL Server 2008 FileStream

javascript - ASP.NET:禁用 Javascript 的 asp:LinkBut​​ton?