• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

组件开发之Asp.net服务器控件Collection[集合]属性的设计时支持--编辑、保存 ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
    制作服务器控件的时候,很多时候要用的集合属性(Collection Property),我将自己开发中学到的一些知识点总结一下,可能对初学控件开发的人会有些帮助.
    如果你开发过控件,一定知道,如果你的控件的Property都是一些基础的类数据型,那么我们不需要对这些Property的保存和恢复做太多的工作,.Net 已经做好了这些支持工作.但是如果你想要在控件中加入集合性质的属性,事情就没有那么简单了!集合属性是很常见的,例如ListBox中的ListItemCollection,GridView中的GridViewColumn等等.
    下面,我就把开发中的一些要点列举一下:
     1.控件级别 Control Class Level 设置如下属性
        [ParseChildren(true)]
        public class MyControl: WebControl
     2.属性级别 Property Level 设置如下
        [DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
        [PersistenceMode(PersistenceMode.InnerProperty)]
        [Editor(typeof(MyCollectionEditor),typeof(System.Drawing.Design.UITypeEditor))]
        public MyCollection Items
        {
           get{}
        }
        注: 集合属性都应该是只读的!
     3.实现MyCollectionEditor.
       
 exp.DisplayText;
        }
        
    }


      大家可以看到,其实真正实现这个并不难,Framework中的基类CollectionEditor已经为我们做好了99%的功能,我们只要定制一下就好了!要注意的是前三个过程实现缺一不可,最后一个是在编辑对话框中显示项目的,可以是返回随意的字符串.

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
一种基于自定义代码的asp.net网站访问IP过滤方法!发布时间:2022-07-10
下一篇:
asp.net视图引擎归类发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap