我正在尝试使用此解决方案来访问telerik菜单项中的项目:
ascx代码:
<asp:Label ID="DivLeave" runat="server"></asp:Label>
在ascx.cs文件中,我运行以下代码以禁用asp标签
RadMenuItem expenses = RadMenu1.FindItemByText("Expenses");
Label DivLeave = (Label)expenses.FindControl("DivLeave");
DivLeave.Visible = false;
但是当我尝试运行代码时出现此错误:
{"Object reference not set to an instance of an object."}
谁能告诉我如何解决此问题。我真的需要运行此服务器端,因为围绕上述代码的代码在服务器端做了一些工作,它们都非常适合...
亲切的问候
最佳答案
这是因为呈现表单HTML时标签的名称不是“ DivLeave”。由于它位于用户控件内部,因此它将是页面上用户控件名称的组合,然后是“ DivLeave”。您应该可以通过查看后面的代码来查看名称。另外,为什么不使用FindControl就不能引用DivLeave.Visible?它是带有runat服务器属性的ASP.NET控件,因此您应该可以使用它。
关于c# - 无法从.cs文件访问Telerik控件中的控件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4059243/