ASP.NET服务器控件编程之热身运动
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 Control2 : System.Web.UI.WebControls.WebControl |
上面的代码里我们定义了一个Contro1和Control2,他们分别从Control和WebControl继承下来,那他们之间到底有什么样的本质区别呢?先看下面的效果:
|
从上面的效果我们不难看出他们之间有什么区别,WebControl类通过属性提供了对样式的支持,比如字体、高度、背景色等等。那我们什么时候来选择从Control派生,什么时候又选择从WebControl派生呢?如果控件要生成非可视化的元素或显示给非HTML客户端,就从Control派生,如SqlDataSource;如果要提供客户端生成可视化的HTML,那我们就从WebControl派生,如TextBox。
转载于:https://www.cnblogs.com/greatwang/archive/2008/06/06/1214935.html
ASP.NET服务器控件编程之热身运动相关推荐
- asp.net服务器控件与html服务器控件的区别
在ASP.NET开发中用到的控件可以分为三种:传统html控件(比如<input type="button"/>).html服务器控件(比如<input type ...
- ASP.NET 服务器控件授权
原文:http://msdn.microsoft.com/zh-cn/library/aa479017.aspx 摘要:了解 ASP.NET 服务器控件的授权要求,了解可用于 .NET 框架版本 1. ...
- 关于 asp.net 服务器控件几个 ID 的说明
对于每一个服务器控件System.Web.UI.Control 都具有 ID,UniqueID,ClientID 三个属性,那么这个三者到底有河关系,在客户端HTML中又是如何对应呈现的呢? ID:获 ...
- Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)
本文作者:HAI_ 0×00 前言 来看看我们今天的主题. 让你自由自在脱壳的热身运动. 现在很多第厂家都是使用第三方的加固方式来进行加固的.或者使用自己的加固方式进行加固. 那么我们必不可少的就是脱 ...
- ASP.NET服务器控件的生命周期分析
本文实例分析了ASP.NET服务器控件的生命周期.分享给大家供大家参考.具体如下: (1)初始化----在此阶段中,主要完成两项工作:一.初始化在传入Web请求生命周期内所需的设置:二.跟踪视图状态. ...
- Asp.Net数据库编程-10条最优方法[翻译]
Asp.Net数据库编程-10条最优方法[翻译] 原文标题:Using Data with ASP.Net - 10 of my 'Best Practices' 原文链接:http://www.de ...
- Asp.Net服务器控件开发的Grid实现(二)Html标记渲染
我们先来实现Grid类,代码如下: Grid.cs using System; using System.Collections.Generic; using System.ComponentMode ...
- ASP.NET服务器控件开发(2)--继承WebControl类
文章作者:高维鹏(Brian) 文章出处:http://www.cnblogs.com/gaoweipeng 前篇文章简单介绍了如何封装Html来创建我们的ASP.NET服务器控件.这篇说说如何继承A ...
- 如何在ASP.NET服务器控件库中嵌入JavaScript脚本文件 [适用于.NET 2.0]
需求:建立一个类库TestControls,这个类库中包含若干ASP.NET服务器控件,其中有一些会调用客户端的JavaScript函数,把这些函数放入TestScript.js中. 其实是很简单的需 ...
最新文章
- 七天入门linux,RHCE认证学习笔记-第七天
- 常用的 cocos2d-x 游戏开发工具
- mysql 5.5.46_MySQL 5.5.46源码安装
- 上传文件显示进度条_文件上传带进度条进阶-断点续传
- springboot使用AOP打印日志信息
- 关于波峰波谷趋势分割(想象中的方法),判断趋势,突然来想到的,记下来,没有实验。以便以后用于分割...
- 基于Linux平台的libpcap源码分析和优化
- 免费下载百度文库文档
- CSS 实现三级导航目录
- 礼物:《红孩儿引擎内功心法修练与Cocos2d-x》之结点系统(场景,层,精灵)
- Python代码爬取下载应用宝所有APP软件
- FinalShell连接不上LinuxCentOS-7的解决方案
- 数据库底层原理-------数据结构
- 存储容量和IOPS的关系
- 初学者建模和布线技巧
- mbedtls安装与入门
- 推荐系统中的biasdebias(一):bias的成因、类型和影响
- PDF转CAD怎么弄?PDF文件转换快速入门
- @click.stop和@click.prevent区别
- appid 登录不上appstore