能自己“跑”的表单控件,思路,雏形,源码。vs2005版本
2008-05-25 17:32 金色海洋(jyk) 阅读(8790) 评论(40) 编辑 收藏 举报下载地址:
http://www.cnblogs.com/jyk/archive/2008/07/29/1255891.html
大家是怎么处理CRUD的呢?
这里说一下添加、修改数据。
一大堆的表,n多的字段,经常变化的表现形式(比如文本框换成下拉列表框等),是不是很头痛?反正我是很烦的,因为我太懒了,对于这种不是太重要的,但是有很繁琐的东东,我总是要向出来一种“简单”的方式来处理。
怎么办?表单控件,我还一直使用VS2003,没有VS2005里面的表单控件,所以只好自己写了,另外好像VS2005里面的表单控件使用的也不是很多。
我的表单控件要做的事情:
1、自己描绘控件,比如能够自己添加文本框、下拉列表框这一类的控件。
2、可以自己获取用户输入的信息,进行验证(前台的js验证和后台的数据的类型是否符合子段类型的验证),组合SQL语句或者调用存储过程来添加、修改数据。
3、在修改数据的时候,可以从数据库里提取数据,填充到对应的控件里。
这个好像和05的表单控件差不多,不过有两个明显的区别。
1、05的需要另外设置文本框这样的控件。
2、使用DataSource这一类的控件来保存关联信息,而这些信息都是通过属性的方式设置,而且默认情况下是放在了aspx文件里面了。
对于第一点呢,操作繁琐,当然也是很灵活;第二点嘛,就不好了。一两个页面的话,还好办,如果有100个这样的页面的话,那管理就是一个问题了。
那么怎么实现我想要的效果呢,我采用自定义控件的方式来实现。
1、先定义一个结构(好像也可以使用类)。
2、根据属性添加子控件,也就是具体的控件(比如文本框、下拉列表框等)。
3、取值,保存数据。
4、修改的时候显示数据。
[具体实现]
1、先定义一个结构(好像也可以使用类)。























2、根据属性添加子控件,也就是具体的控件(比如文本框、下拉列表框等)。





































3、取值,保存数据。








































4、修改的时候显示数据。
这个部分还没有写呢,不过也是类似的方法。
5、调用。
























缺点。说到缺点嘛,由于这里只是一个雏形,所以缺点是很多的,但是这里写的就是一个“核心”代码,关键代码都在这里面。其他的就是在这个基础上去完善、扩展、优化和美化 。
1、case 。对控件判断的地方使用了case ,目前也没有其他的更好的方法。
2、case 里面的代码。这里只是两种控件,最简单的代码,就已经好几行了,多了就不可想象了。虽然case 没有什么办法解决,但是case 里的代码,可以使用接口的方式来分散开。
就是定义一个接口,在继承系统的控件(比如文本框)实现这个接口,然后表单控件里case的代码就可以简化很多了。
3、调用的时候需要设置一个结构数组,这个是很烦的,代码行数也是很多的,好像还没有直接设置控件(文本框等)来得方便。对于这一点,我是把这些属性放在了一个配置文件(xml或者数据库)里面,然后在表单控件内部读取属性,自己就可以幅值了,外部只需要设置一个“编号”就可以了(告诉控件读取哪些信息)。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· 展开说说关于C#中ORM框架的用法!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?