ASP.NET自定义控件组件开发 第五章 模板控件开发
大家好,我们今天来开发一个模板控件。 其实开发一个模板控件比开发一个组合控件更加简单,所以这章不难。 开发一个模板控件一般都继承CompositeControl,因为继承这个基类后,我们就省却了很多的麻烦。 所以本章我们开发的模板控件也继承于CompositeControl。大家应该还记得我们上章开发那个登录Login 控件吧,如下: 以上就是我们之前开发的登录控件,现在我们来改造它。我们的现在的这个登录控件的输入用户名和 密码的控件是TextBox,我们有时候可能想把TextBox 换成DropdownList,或者其他的控件。也就说,我们 想定制这个登录的控件。那么,我们就要模板了。 首先来看看我们本章实现控件的最后效果: 大家看见没,这样我们就可以定制这个控件了。好了,我们来实现吧。 首先,我们让我们的模板控件继承上章的那个组合的Login控件: Code
然后,我们就声明我们的模板: Code
正如前面所说的,我们只是想定制两个输入信息的模板,大家可以根据需要,声明更多的模板。如, 大家还可以把显示的用户名的那些Label换成模板定制。 其实编写模板控件比编写一个组合控件更加的简单。大家稍后就可以体会到了。 好了,声明完了模板之后,我们的控件写了一大半了,还差一点。大家想想是什么??? 对了,就是应用这些模板了。如下: Code 1 protected override void CreateChildControls() 2 { 3 Controls.Clear(); 4 if (loginUserNameTemplate != null) 5 loginUserNameTemplate.InstantiateIn(this); 6 else 7 base.CreateChildControls(); 8 if(loginUserPasswardTemplate!=null ) 9 loginUserPasswardTemplate .InstantiateIn(this); 10 else 11 base.CreateChildControls(); 12 13 ChildControlsCreated = true; 14 15 16 } 我想,大家对这个方法不陌生。因为我们之前的组合控件也是重写了这个方法。到这里,就写完了。 大家可能还有疑问,为什么这样 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |