首页 > 解决方案 > 如何从周围的 NamingContainer 中找到模板化控件中的控件

问题描述

我创建了一个具有 ITemplate 属性的用户控件。

    public class MyUserControl
    {
            ...

            [TemplateContainer(typeof(ContextMenuContent))]
            [TemplateInstance(TemplateInstance.Single)]
            [PersistenceMode(PersistenceMode.InnerProperty)]
            [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
            public ITemplate ContextMenuTemplate { get; set; }

            ...
    }

托管页面还包含一个CustomControl,它具有允许您设置任意按钮的控件 ID 的属性。我的计划是在MyUserControl的模板中设置按钮的控件 ID 。CustomControl使用 NamingContainer.FindControl() 来查找分配的 Button,但 FindControl() 似乎不适用于 ITemplate 占位符中的控件尽管我可以在 CodeBehind 中为按钮使用 Intellisense 并访问其所有属性,但 FindControl() 无法找到它。

如何在 NamingContainer 中找到控件?

在此处输入图像描述

标签: asp.netcustom-controls

解决方案


推荐阅读