欢迎光临
我们一直在努力

关于ASP.NET自定义控件中子控件的HTML代码保持-ASP教程,组件开发

建站超值云服务器,限时71元/月

asp.net自定义控件是个很好的模型,可以在网页中象堆积木般构筑软件,可以

使用大量的第三方控件来完成自己不擅长的功能。但自定义控件编写起来有一定难度。

一直以来,如何在aspx设计时页面中保持子控件的生成代码问题因扰着我。近段研究了

一下微软的ie webcontrol中的treeview控件,终于搞清楚了此问题,不敢独享,特将它

总结了一下,并做了个示例工程,放在我网站上(http://www.aspxcontrol.com/blog)供网友

下载。

总结起来,要点如下:

1.将子控件单独定义为类,如public class noteitem{},为了不让此子控件在整个dll被

拖入工具箱时不显示,可以使用此特性:[toolboxitem(false)]

2.子控件应为集合类,引用system.collection ,定义:

public class noteitemcollection:system.collections.collectionbase

3.实现成员:

add(),this[int]。

4.在主类中定义加入特性:

[designerserializationvisibility(designerserializationvisibility.content)]

[persistencemode(persistencemode.innerdefaultproperty)]

[editor(typeof(collectioneditor),typeof(uitypeeditor))]

如果实现了自己的编辑器,可将typeof(collectioneditor)换成自己的,可以是winform

的,可参考treeview源码。

5.在主类中定义一集合变量和一arraylist变量,如:

private noteitemcollection _notes;

private arraylist al;

在构造函数内写:

{

al = new arraylist();

_notes = new noteitemcollection(al);

}

这样,在加了子控件后,就会在aspx的html页面中加入类似:<waki:sample>

<waki:note>

<waki:item id="1"></waki:item>

<waki:item id="2"></waki:item>

</waki:note>

</waki:sample>这样的代码了,就可以避免让用户自己输入xml代码了。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 关于ASP.NET自定义控件中子控件的HTML代码保持-ASP教程,组件开发
分享到: 更多 (0)

相关推荐

  • 暂无文章