gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-30 22:15:24 24 4
gpt4 key购买 nike

我对我已经做过一百万次的一件简单的事情感到很麻烦,但是这次,我做不到。

我的 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>

我有六次。总是一个 Edit 和一个 Delete-LinkBut​​ton。

然后我尝试在第 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;

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

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

好吧 - 我确定对象不再是 null 了?!(并且 Session["Permissions"] 肯定也不为空,因为它已经在 PreLoad 中获得了他的 Status ...)

也许我必须告诉你更多,因为我在使用之前的那些 LinkBut​​tons 时遇到了问题 ^^所以 - 在那些 TemplateFields 中我有完全相同的 LinkBut​​tons,然后我更改了那些 LB 的名称,从那以后我不能在 CodeBehind 中使用它们。这是因为它们不再在设计器文件中......所以我尝试了很多技巧,我在 inet 的每个地方都找到了技巧,还有来自这里的技巧 - 但它们没有用(比如重建 designerfile,将 LinkBut​​tons new 写入 aspx 文件,我还确保该文件位于正确的文件夹中等...)没有任何效果。所以我手动将它们添加到 designer.cs 中。现在我可以在 CodeBehind 中“使用”它们,但是当我开始调试时 - 它遇到了这个错误。

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

最佳答案

你也可以通过这种方式用RowCommand事件找到

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

name.visible=false;

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

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com