探讨ASP.NET 2.0中的Web控件改进技术
ction对象。
o_ActionLists.Add(New EmailContactActionList(ctlEmailContact)) 你可能还记得我在EmailContactActionList类中创建的一个构造器,当时它 接收EmailContact控件的一个实例。如你所见,我在此也使用了该构造器—把我 设计的控件实例传递给它。 下面是控件设计器类用于构建灵敏标签的完整源码:
在这个示例中,我仅创建了一个ActionList类,使用行为列表项填充它,并 且把该类添加到将被返回的DesignerActionListCollection类—这是通过重载控 件设计器的ActionLists属性来实现的。其实,我完全可以据实际需要创建许多 ActionList类,并且简单地把它们添加到ActionLists属性集合即可。如果我想 在逻辑上组织大量的灵敏标签项—为了在多个控件中重用它们时,这是很有用的 。至于决定为何以及何时这样做,则要依赖于实际来决定。 现在,在我编译完这个控件并把它拖动到一个表单上时,我将看到一个小箭 头出现在其右上角—点击它将显示你在图2中所看到的内容。在此,改变任何其 中一个属性都与在属性浏览器中改变完全一致。点击相应的链接将执行在 EmailContactActionList类的方法中定义的行为。 关于该控件,我们就讨论这些内容。记住一点:不要把暂时不需要的属性添 加到一个灵敏标签中。 二、模板设计时刻编辑 在以前的文章中,我曾经介绍过如何在你的控件中添加模板能力。在此,我 仅简单地涉及其中一点,因为它与这里的讨论有一些关系—我指的是从Web表单 设计界面上编辑模板内容的能力—在以前的ASP.NET 1.x时代这是不容易实现的 。 模板设计时刻编辑功能出现在例如GridView这样的控件中—你可以把该控件 置于“模板编辑”模式,然后只需把其它控件拖动到该模板区域即可。如果没有 这种方便的话,页面开发者必须切换到ASPX视图并象下面这样手工地创建模板内 容:
尽管这也并不是太糟糕,但是使页面开发者使用设计器界面进行设计效果会 更好一些。 为了把模板编辑能力添加到一个控件上,你必须重载控件设计器类的 Initialize方法,并且设置一个标志以通知设计器你想支持模板编辑功能。
注意在此,我对基类方法进行了调用以确保我不取消自己不想实现的内容。 这个调用通知设计器它将支持模板编辑功能,但是你仍然需要对编辑实现部分进 行编程。 微软 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |