文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ASP.NET中如何使用CompositeControl类

2023-06-18 00:58

关注

ASP.NET中如何使用CompositeControl类,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。

用于解决设计时问题的 CompositeControl

随 ASP.NET 2.0 一同提供了一个名为 CompositeControl 的基类。因此,新的非数据绑定复合控件应该从该类派生而不是从 WebControl 派生。在开发控件方面,CompositeControl 的用法变动不大。您仍然需要替换 CreateChildControls 并按先前所述方式编码。那么 CompositeControl 的作用是什么?让我们先从其原型着手:

public class CompositeControl :WebControl,   INamingContainer,   ICompositeControlDesignerAccessor

使用该类就无需再用 INamingContainer 装饰控件,但这实际上并不是很重要,因为接口只是一个标记并且不包含任何方法。更为重要的是,该类实现了一个名为 ICompositeControlDesignerAccessor 的全新接口。

public interface ICompositeControlDesignerAccessor  {  void RecreateChildControls();  }

此接口由复合控件的标准设计器用于在设计时重建控件树。以下是 CompositeControl 中方法的默认实现过程。

void ICompositeControlDesignerAccessor.RecreateChildControls()  {  base.ChildControlsCreated = false;  EnsureChildControls();  }

简言之,如果您从 CompositeControl 派生复合控件,就不会遇到设计时的故障,而且无需采用技巧和妙计就可以使控件在运行时和设计时都能正常运行。

要充分理解此接口的重要性,可试以寄存某 LabelTextBox 复合控件的示例页为例,并将其转换为设计模式。控件在运行时工作正常,但在设计时却不可见。

ASP.NET中如何使用CompositeControl类

图 5:只有复合控件从 CompositeControl 派生才对它们进行特殊的设计时处理

如果只是用 CompositeControl 替换 WebControl,则控件在运行时仍然保持正常工作,而在设计时也会运行良好。

ASP.NET中如何使用CompositeControl类

图 6:在设计时运行良好的复合控件

看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯