我正在尝试使用此解决方案来访问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/

10-11 14:10