通行证: 用户 密码 域名空间  下载中心 社区论坛 信息公告 MY小屋
联系我们
设为首页
加入收藏

 

QQ,ASP,PHP,JSP,XML,SQL,.Net,编程 程序 网页图象 建站经验 私服
首页 | 新闻资讯 | 编程开发 | 网页设计 | 图形图象 | 网络媒体 | 网站模板 | 数 据 库 | 投稿
论坛 | 操作系统 | 系统优化 | 网络安全 | 黑客技术 | 硬件学堂 | 硬件报价 | 服 务 器 | 地图
专题 | 应用软件 | 聊天通讯 | Q Q 专栏 | 建站经验 | 在线工具 | 站长Club | 注 册 表 | 旧版
社会 | 游戏娱乐 | 设计欣赏 | 疑难解答 | 社区论坛 | 韩国素材 | 素材图库 | 广告服务 | 服务
当前位置:首页>>编程开发>>NET专区>>正文 新版上线![旧版]
注:打开慢时请稍等

ASP.NET服务器控件编程之热身运动

http://www.iyit.net  日期:2006-6-2 15:08:12  来源:  点击:
参加讨论】创建Asp.net里的服务器控件和Windows Form的控件一样,也有几种方式:

  1、 用户控件(user control)

  2、 从Control、WebControl派生的自定义控件

  3、 从已有的Asp.net服务器控件扩展

  用户控件以.ascx为扩展名,并保存为文本文件,用户控件不像从Control和WebControl派生下来的服务器控件那样需要预编译,当用户控件在.aspx页面中使用的时候,页面解析器从.aspx文件中动态地生成一个类,并且将其编译到一个装配件中。其优点有:解决了代码复用,同时每一个用户控件有自己的对象模型,其编写语言和.aspx页面的语言无关。

  从已有的Asp.net服务器控件扩展,主要是对.net原生的服务器控件的功能加强以适用我们开发和最终用户的需要。

  从Control、WebControl派生的自定义控件以编译过的类库形式部署的。

  上述的1和3在本系列中将不做讲解,在本系列中只讲解从Control、WebControl派生的服务器控件。

  我们要编写一个自定义控件,只要从Control、WebControl继承即可,Control已经实现了IComponent接口,而WebControl本身又是从Control上派生下来的,因而他们也支持组件的可视化设计。

  Render方法和HtmlTextWriter类,当我们从一个Control类派生一个Asp.net服务器控件时,Control类为我们提供了可重载的Render和一个HtmlTextWriter类型的实例,Render方法就是将服务器控件内容发送到提供的 HtmlTextWriter 对象,而HtmlTextWriter封装了HTML写文本流的功能函数。

using System;
using System.Collections.Generic;
using System.Text;

namespace ClassLibrary1
{
 public class Control1 : System.Web.UI.Control
 {
  protected override void Render(System.Web.UI.HtmlTextWriter writer)
  {
   writer.Write("I'm here.");
  }
 }

 public class Control2 : System.Web.UI.WebControls.WebControl
 {
  protected override void Render(System.Web.UI.HtmlTextWriter writer)
  {
   writer.Write("I'm here too.");
  }
 }
}

  上面的代码里我们定义了一个Contro1和Control2,他们分别从Control和WebControl继承下来,那他们之间到底有什么样的本质区别呢?先看下面的效果:

 

  从上面的效果我们不难看出他们之间有什么区别,WebControl类通过属性提供了对样式的支持,比如字体、高度、背景色等等。那我们什么时候来选择从Control派生,什么时候又选择从WebControl派生呢?如果控件要生成非可视化的元素或显示给非HTML客户端,就从Control派生,如SqlDataSource;如果要提供客户端生成可视化的HTML,那我们就从WebControl派生,如TextBox。 (相关文章: ASP.NET教程

编辑:黑鹰 [发送给好友] [打印本页] [关闭窗口] [返回顶部]
上一篇:ASP.NET 2.0 中的异步页功能应用
下一篇:编写高性能Web应用程序的10个技巧
转载请注明来源:www.iyit.net
特别声明: 本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。

 相关文章
在ASP.NET中自动给URL加上超链接 ASP.NET Atlas ListView显示列表数据 ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发 在ASP.NET Atlas中创建自定义Behavior ASP.NET 2.0中轻松实现网站换肤
ASP.NET 2.0 中的代码隐藏和编译 ASP.NET入门随想之服务器控件模型 ASP.NET页面中标题单点解决方案
在ASP.NET中防止注入攻击 ASP.NET 2.0站点登录、导航与权限管理 asp.net面试试题收集
ASP.NET 2.0 中的异步页功能应用 用ASP.NET开发Web服务的五则技巧 ASP.NET中Cookie编程的基础知识(1)
ASP.NET中Cookie编程的基础知识(2) ASP.NET中Cookie编程的基础知识(3) ASP.NET中Cookie编程的基础知识(4)
ASP.NET中Cookie编程的基础知识(5) ASP.NET中Cookie编程的基础知识(6) ASP.NET 2.0移动开发入门之基础
ASP.NET中文件上传下载方法集合 ASP.NET服务器控件之RenderContents ASP.NET2.0服务器控件之Render方法
最新更新 热点排行 推荐新闻
在ASP.NET中自动给URL加上超链接
ASP.NET Atlas ListView显示列表数据
ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发
在ASP.NET Atlas中创建自定义Behavior
在ASP.NET中自动给URL加上超链接
ASP.NET Atlas ListView显示列表数据
ASP.NET编程入门随想之信客
用VS2005实现ASP.NET2.0移动开发
在ASP.NET Atlas中创建自定义Behavior
ASP.NET 2.0中轻松实现网站换肤
ASP.NET 2.0 中的代码隐藏和编译
ASP.NET入门随想之服务器控件模型
ASP.NET页面中标题单点解决方案
在ASP.NET中防止注入攻击
为ASP.NET 2.0菜单控件增加target属性
ASP.NET 2.0 中的异步页功能应用
将Asp.net页面输出为HTML
HTML简介
设定Cookie 变量的生命周期
优秀公益广告作品欣赏(8)
java数据类型转换
QQ最新版下载 2006 beta2 体验新感受 
Windows XP专业版IIS连接数的更改
优秀公益广告作品欣赏(7)
Office2007简体中文版浮出水面 美图抢
优秀公益广告作品欣赏(6)
WEB服务器配置全攻略(三)
优秀公益广告作品欣赏(4)
优秀公益广告作品欣赏(1)
ASP.NET 2.0 中的异步页功能应用
Linux操作系统12则经典应用技巧
浅谈Linux优化及安全配置的个人体会
解决局域网不能互相访问之全攻略
WIN 2000简单的入侵常识
用Win 2003架设邮件服务器
硬盘分区消失,解决方法!
传统计算机病毒传播能力破坏性在提高
内存为何有“两面性”
AMD水货盒装CPU识别方法
IP地址资源2012年枯竭 部署IPv6很紧迫
 友情链接
设置首 页 - 版权声明 - 广告服务 - 关于我们 - 联系我们 - 友情连接
Copyrights © 2004-2006 iYiT.Net All Rights Reserved.
网站合作、广告联系QQ:147007642、466949678
易特网络技术 点击这里给我发消息