用Visual C#.NET编写服务器日期控件
日期:2008年2月23日 作者: 查看:[大字体 中字体 小字体]-
一、序言
Visual C#.NET是微软公司出品的一种新的编程语言(以下简称C#),它继承了C语言的一些特性,也加入了一些新的元素。以前用过Delphi开发程序的人可能刚开始使用C#的时候,对其有一种似曾相识的感觉(至少包括我)。是的,C#语言的创始人正是以前在Borland公司开发出Delphi语言的Anders Hejlsberg。在我开始使用C#开发程序时,就觉得它是一款很棒的开发Windows Form & Web程序的RAD工具。
在开发Web程序方面,C#的出现打破了以前的网页开发模式,实现了与开发Windows
Form程序一样的所见即所得的功能。C#提供了一些常用的Web Form Control供开发人员使用,并且只需将控件拖入页面中即可,非常简单。但有时这些控件也不能满足开发人员的需要,需要开发人员自己编写用户控件(User Control)或自定义控件(Custom Control)来满足需求。在这里,我将讲解如何在C#中开发服务器控件。
二、预备知识
在C#中可以开发两种服务器控件,一个是用户控件(User Control)和自定义控件(Custom Control)。用户控件的本质与页面文件(ASPx文件)差不多,是可被其它aspx页面重复使用的Html代码段,当然它也包括后台代码(Code-behind),后缀名是ascx。所以在开发一些公用的静态页面时(例如页头,页脚)经常用到,但它的缺点是不易继承,不易分发,无法编译成二进制代码来进行部署。但是自定义控件的功能就强大许多,它可以被编译成二进制代码(DLL文件),可以被扩展、继承、分发。就像Web Form Control一样,其实它们每个控件就是一个DLL文件。
开发用户控件比较简单,就像编写一个aspx页面一样,在这里就不介绍了。本文对象是自定义控件。服务器控件的基类是System.Web.UI.Control。如果要开发可视化的服务器控件,那我们需要从System.Web.UI.WebControls来继承,否则从System.Web.UI.Control继承。
服务器控件在设计时以runat=”server”脚本代码嵌入到aspx文件中来表示此控件是在服务器端运行的。在服务器控件所在页面提交回传(PostBack)过程中是依靠ViewState(视图状态)来维护控件状态的。所以我们在设计服务器控件属性时,其值应保存在ViewState中。
三、代码编写
C#中有一个日历控件Calendar,但是现在我需要一个可以下拉的日历控件,并且初始时不显示日历,当我点击下拉按钮时才弹出,并且当选择了日期,日历会自动隐藏且选择的日期值会显示到相应的输入框中。显然Calendar控件不能满足我的需要,但是稍后我会在我的自定义控件中用到它。
首先新建项目,在项目类型中选择Visual C#项目,在模板列表中选择Web控件库,输入项目名称AquaCalendar,然后选择项目所在目录,点击【确定】按钮。C#将会生成基本的框架代码。将项目中的类文件和类名改名为DatePicker(即日期控件的类名)。由于DatePicker是可视化控件,所以我们必须从System.Web.UI.WebControls继承。并且它包括一个输入框,一个按钮和日历控件,需要在DatePicker类中声明它们。像这种以多个服务器控件组合的控件成为复合控件。代码如下,比较重要的方法和代码在注释中会加以说明:
using System;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.ComponentModel;
using System.Drawing;
namespace AquaCalendar
{
[DefaultProperty("Text"), //在属性工具箱中显示的默认属性
- [1] [2] [3] [4] [5] [6] [7] [8] 下一页
- 用Visual C#.NET编写服务器日期控件 相关文章:
- ·显示日期和时间_QQ空间时间代码
- ·asp.net中调用javascript函数实现多功能日期控件示例
- ·用Visual C#.NET编写服务器日期控件
- ·用ASP开发WEB日期选择器
- ·关于oracle日期函数的介绍和使用
- ·跟日期有关的两条经典SQL语句
- ·15 个与日期时间相关的自定义函数
- ·几个日期特效的代码
- ·mysql的日期和时间函数
- ·带日期标注的日历控件
- 用Visual C#.NET编写服务器日期控件 相关软件
- ·微软中国日期与时间 V1.0
- 特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作
- 者.文章版权归文章原始作者所有.对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转
- 载的文章有版权问题请联系编辑人员,我们尽快予以更正. 转载请注明来源:http://www.hackhome.com
精品推荐
热点TOP10
- ·通常C#面试题
- ·用C#写计算器程序
- ·C#获取本地计算机名IP,Mac地址
- ·ASP.NET购物车的实现及结算处理
- ·Asp.net(c#)数据库操作类
- ·Asp.net利用Treeview实现树形列表
- ·ASP.NET上传大文件控件
- ·客户端回调实现gridView无刷新分页
- ·asp.net(C#)海量数据表高效率分页算法(易懂,不使用存储过程)
- ·C#编写的windows计算器-源代码
- ·AspNetPager分页控件--使用方法
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·C#读写INI文件
- ·使用 XSL 样式表无法查看 XML 输入
- ·用c#写的smtp邮件发送类
- ·实例分享:自己开发的自定义分页控件
- ·asp.net开发wap程序必备:识别来访手机品牌型号
- ·C#中使用进度条
- ·.NET(C#)连接各类数据库-集锦
- ·ASP.NET无限级分类的非递归实现(存储过程版)
特别推荐
- ·实例分享:自己开发的自定义分页控件
- ·ASP.NET之上传文件管理策略
- ·ASP.NET程序中常用的三十三种代码
- ·ASP.Net中保护自定义的服务器控件
- ·C#设计的一个向导程序(Wizard)框架
- ·.net中即时消息发送的实现……
- ·ASP.NET动态创建控件之绝境求生
- ·.NET调用Oracle存储过程,使用数组类型的参数(如ArrayList)
- ·C#中水晶按钮的程序生成
- ·日历函数单元
- ·图片保存到数据库和从数据库读取图片并显示(c#)
- ·ASP.NET2.0下含有DropDownList的GridView编辑、删除的完整例子!
- ·C#中四种进程或线程同步互斥的控制方法
- ·[C#]解决读写包含汉字的txt文件时乱码的问题
- ·AspNetPager分页控件--使用方法
- ·六步使用ICallbackEventHandler实现无刷新回调
- ·从 ASP.NET 服务器控件插入客户端脚本
- ·C#導出Excel源碼
- ·Asp.net直接保存文件到客户端
- ·如何在上传的图片上写字
