posts - 50, comments - 140, trackbacks - 8, articles - 0
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

自己写的web自定义控件

Posted on 2007-04-04 16:51 faib 阅读(3277) 评论(43)  编辑 收藏 网摘 所属分类: C#Asp.Net控件

  经过几天的努力,此次共完成了四个控件的开发:分页控件、验证码控件、日期选择控件和折叠面板控件。下面分别介绍每种控件的使用方法。也希望大家给出宝贵的修改意见。



一、分页控件(PagingPanel)
<fsc:PagingPanel runat="server" id="PagingPanel1" PageNumberCount="7"></fsc:PagingPanel>


  分页控件可支持的数据控件有DataGrid、DataList、Repeater,同时可支持DataList的多列显示功能。可支持的数据源有Array、ArrayList、DataTable、DataView。
        private void Bind()
        
{
            Pagingpanel1.PageSize 
= 20//每页可显示的行
            Pagingpanel1.RepeatColumns = 4//多列
            DataList1.DataSource = Pagingpanel1.SetDataSource(DataTable1);//转换数据源
            DataList1.DataBind();
        }


  使用激活事件PageIndexChange来进行分页
        private void Pagingpanel1_PageIndexChanged(object sender, FaibClass.WebControls.PageIndexChangedEventArgs e)
        
{
            Pagingpanel1.CurrentPageIndex 
= e.NewPageIndex;
            Bind();
        }


  部份属性说明
  AutoPostBack
  如果设为false则不需要使用事件PageIndexChanged即可实现数据分页,即此时是通过Request.QueryString来传递页码的。

  RepeatColumns
  此属性用于与DataList的关联,与DataList的RepeatColumns属性一致。

  ShowFirstLast
  是否显示“首页”与“尾页”按钮。

  ShowPageBox、ShowPageList
  分别是:是否显示页码输入框、页码列表框。

  PageNumberCount
  显示快捷的页码跳转串,首尾用...延续。

二、验证控件(ValidateBox)
<fsc:ValidateBox runat="server" id="ValidateBox1" ImageUrl="vercode.jpg"></fsc:ValidateBox>

  在使用验证之前,需在Web.Config中加入:
  <system.web>
        
<httpHandlers>
            
<add verb="GET" path="*.fbs.ashx" type="FaibClass.WebControls.AshxHandler,FaibClass.WebControls"/>
        
</httpHandlers>
  
</system.web>
  这个控件的使用很简单,只需给定一个ImageUrl即可,客服端可使用属性value来获得验证码。

  部份属性说明
  Length
  验证码的位数。

  TextAngle
  字体的旋转角度。

三、日期选择控件(CalendarBox)
<fsc:CalendarBox runat="server" id="CalendarBox1" ShowStyle="OnContextMenu"></fsc:CalendarBox>

 

  此控件与ValiedateBox一样需在Web.Config里加入httpHandler。
  此控件可以自由地定义日期格式,及相应的css样式。

  部份属性说明
  DataFormat
  设置日期格式,ymd -- 年月日 mdy -- 月日年 dmy -- 日月年

  DataSeparator
  日期中年月日的分隔符

  ShowStyle
  定制选择面板的弹出方式 OnClick -- 单击时 OnDblClick -- 双击时 OnFocus -- 获得焦点时 OnContextMenu -- 右键菜单时

四、折叠面板控件(CollapablePanel)
<fsc:collapablepanel id="CollapablePanel1" runat="server" PanelColor="Yellow" PanelCssClass="panel" CssClass="tt"
    BorderWidth
="1px" BorderStyle="Solid" BorderColor="#404000" BackColor="#FFE0C0" Width="175px" ExpandSolePanel="True">
    
<fsc:CollPanel Text="系统菜单" BackColor="">
        
<fsc:CollItem ImageUrl="save.gif" Text="我的资料" CommandName="MyInfo"></fsc:CollItem>
        
<fsc:CollItem ImageUrl="save.gif" Text="修改密码" CommandName="ModifyPwd"></fsc:CollItem>
        
<fsc:CollItem ImageUrl="save.gif" Text="退出登录" CommandName="Logout"></fsc:CollItem>
    
</fsc:CollPanel>
    
<fsc:CollPanel Text="会员管理" BackColor="">
        
<fsc:CollItem ImageUrl="save.gif" Text="新增会员" CommandName="AddMember"></fsc:CollItem>
        
<fsc:CollItem ImageUrl="save.gif" Text="会员管理" CommandName="Member"></fsc:CollItem>
        
<fsc:CollItem ImageUrl="save.gif" Text="会员续费" CommandName="Safe"></fsc:CollItem>
    
</fsc:CollPanel>
    
<fsc:CollPanel Text="其他管理" BackColor="">
        
<fsc:CollItem ImageUrl="save.gif" Text="档案录入" CommandName="Safe"></fsc:CollItem>
    
</fsc:CollPanel>
</fsc:collapablepanel>


  部份属性说明
  AutoPostBack
  此属性如果设为true,则可使用控件CollItemCommand事件来进行操作,每一个CollItem应指定CommandName;如果为false,使用Url链接到其他页面。

  ExpandSolePanel
  设置为true时,只允许一项处于展开状态。

=================================================================

  此控件尚在测试阶段,下载地址:http://files.cnblogs.com/faib/FaibClass.WebControls.rar。 (现在已关闭下载,需要的可以与我联系)

Feedback

#1楼    回复  引用  查看    

2007-04-05 15:36 by Clark Zheng      
mark

#2楼    回复  引用  查看    

2007-04-05 15:37 by 小K      
恩,都不错 只是那个 日历控件在 2005下,有点变形

#3楼 [楼主]   回复  引用  查看    

2007-04-05 16:17 by faib      
怎么会变形呢,只要能用就可以了,毕竟这个控件是在2003下开发的。

谢谢大家的支持!!我会继续努力的!!

#4楼 [楼主]   回复  引用  查看    

2007-04-05 16:47 by faib      
下一步计划,做一个Menu和TabView

#5楼    回复  引用  查看    

2007-04-05 19:31 by Clark Zheng      
建议你使用ASP.NET Ajax ControlToolKit来开发

#6楼 [楼主]   回复  引用  查看    

2007-04-06 09:03 by faib      
不过我认为信赖于其他组件不是明智之举

#7楼    回复  引用  查看    

2007-04-06 10:50 by Clark Zheng      
@faib
如果不信任ASP.NET Ajax那么为什么学习自定义服务控件呢?都是.NET框架的东西呀,都是微软的官方产品呀

#8楼    回复  引用    

2007-05-16 09:44 by dreamsfeng [未注册用户]
faib 你好!你能否把你写的web自定义控件的源代码给我发一份吗?dreamsfeng@sohu.com

#9楼    回复  引用    

2007-05-25 17:44 by aquila [未注册用户]
能给我一份吗?谢谢~~aquilahkj@163.com
我也在写分页的控件~~想参考一下

#10楼    回复  引用    

2007-05-31 08:13 by fws [未注册用户]
谢谢,请发份给偶,ws841104@gmail.com

#11楼    回复  引用    

2007-06-01 14:54 by gdang [未注册用户]
给我份吧~
longjuanhaoyu@gmail.com

#12楼    回复  引用    

2007-06-07 16:44 by yyyong [未注册用户]
给我一份折叠面板控件的代码,好吗?
我做网站需要用到,谢谢
yyyong2004@163.com

#13楼    回复  引用    

2007-06-10 17:27 by 丁代阳 [未注册用户]
给我一份代码吗? 最近急用
dingdaiyang@hotmail.com

#14楼    回复  引用    

2007-06-20 00:46 by mgodot [未注册用户]
本人近期正在学习制作web自定义控件.
希望能求您一份日历控件的code.万分感激.
mgodotmg@126.com

#15楼    回复  引用    

2007-06-25 09:11 by sbitxg521 [未注册用户]
你好,我也想要一份
sbitxg521@163.com

#16楼    回复  引用    

2007-06-26 16:37 by yacc2211 [未注册用户]
想学习下
能给份代码吗?
handong2211@hotmail.com

#17楼    回复  引用    

2007-06-28 16:15 by 何金银 [未注册用户]
很想学习。麻烦发一份啊
zwkandy555@163.com

#18楼    回复  引用    

2007-07-06 14:49 by rsfc [未注册用户]
非常希望能得到一份 谢谢
rsfc@163.com

#19楼    回复  引用    

2007-07-06 18:14 by xianxian [未注册用户]
非常渴望得到一份 谢谢!
realms@163.com

#20楼    回复  引用    

2007-07-06 18:16 by xianxian [未注册用户]
对不起 刚打错了油箱
realms@126.com

谢谢!

#21楼    回复  引用    

2007-07-06 21:46 by 妞妞 [未注册用户]
caicaihui@126.com

希望得到一份,谢谢~

#22楼    回复  引用  查看    

2007-07-07 15:37 by superstar      
superghy@126.com
可以给一份我吗,谢谢了!

#23楼    回复  引用    

2007-07-10 08:42 by most [未注册用户]
songtaom840804@163.com
可以给一份我吗?十分感谢!

#24楼    回复  引用    

2007-07-12 13:29 by fred [未注册用户]
fredliu@teczs.com
可以给一份给我吗?万分感激!

#25楼 [楼主]   回复  引用  查看    

2007-07-12 14:23 by faib      
大家再等一等,差不多可以发布了,此控件包中包括以下控件:

AutoCompleteBox (自动完成控件)
CalendarBox (日期选择控件)
FoldingPanel (折叠面板控件)
ImageUploader (图片上传控件)
ImageViewer (图片浏览控件)
MenuPanel (菜单控件)
PagingPanel (数据分页控件)
Panel (面板控件)
ValidateBox (验证码控件)

版本:1.3.141

#26楼    回复  引用    

2007-07-20 08:52 by fred [未注册用户]
fredliu@teczs.com
可以给一份我吗?十分感谢!
fredliu@teczs.com

#27楼    回复  引用  查看    

2007-07-28 22:01 by 镜涛      
呵呵,希望可以给一份源码!

#28楼    回复  引用    

2007-08-01 10:20 by 朋友 [未注册用户]
学习中,希望获得一份!谢

qqhrjsxxzxnhy@126.com

#29楼    回复  引用  查看    

2007-08-02 11:25 by Gavin.W.Lai(赖文华)      
恩,学习!希望能获得一源码份!
谢谢!
gavin.w.lai@gmail.com

#30楼    回复  引用    

2007-08-02 17:29 by 为爱奋斗 [未注册用户]
可以给我一份吗??
guoyuzhou_001@163.com

#31楼    回复  引用    

2007-08-06 10:20 by lhp5314 [未注册用户]
请送我一份,谢谢!!!
lhp5314@163.com

#32楼    回复  引用    

2007-08-10 09:41 by txfan [未注册用户]
请给我一份可以吗?
tx.zz@163.com

#33楼    回复  引用    

2007-08-21 17:13 by 品味寂寞 [未注册用户]
我要一份源代码:
2yue31@163.com
谢谢

#34楼    回复  引用    

2007-08-24 13:32 by lynn [未注册用户]
可以传给我一份吗,谢谢
sngss@163.com

#35楼    回复  引用    

2007-09-02 13:02 by kunta [未注册用户]
可以传给我一份吗,谢谢
shijiaokun@126.com

#36楼    回复  引用    

2007-09-25 15:52 by 阿飞667 [未注册用户]
同求一份
soisafei@yahoo.com.cn
我们期待你的代码

#37楼    回复  引用    

2007-09-27 16:25 by 以昂里的日子 [未注册用户]
我正在学习,可不可以给我一份,谢谢了哦!net_zheng@163.com

#38楼    回复  引用    

2007-10-14 00:05 by zhengdjin [未注册用户]
可以给我一份你这些web自定义控件源码吗
zhengdjin@163.com

#39楼    回复  引用    

2007-10-20 01:12 by Lucky_csdn [未注册用户]
djjboty@163.com 我期待你的代码。。。 好东西,值得学习啊!!

#40楼    回复  引用    

2007-10-25 08:45 by jinsling [未注册用户]
好东西啊 麻烦楼主给我发个代码 我相写分页的 没思路 。。 jinsling@163.com

#41楼    回复  引用    

2007-10-25 20:10 by jelly21cn [未注册用户]
可以给我一份吗,最近我也在学习自定义控件中,看了楼主的博客,感触颇深。
jelly21cn@163.com 谢谢

#42楼    回复  引用    

2007-10-26 11:52 by 天下天上 [未注册用户]
请跟我发份好吗?谢
twtiqwcw@21cn.com

#43楼    回复  引用    

2007-12-01 18:57 by aasdsad [未注册用户]
88jianfu@163.com
谢了

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2007-04-29 10:12 编辑过
Google站内搜索

China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》



相关文章:

相关链接: