`

Asp.net控件开发学习笔记-控件开发基础(一)

阅读更多

服务器控件开发基础

     当开发一个服务器控件时,首先要明白其内部的工作机理。其实在页面内部每一点由asp.net返回的HTML代码无论是简单的<span>标签,或者是button按钮,或者是复杂的gridview控件,都是由继承自System.Web.UI.Control的对象生成的。

 

控件的属性

     控制控件的方法大多是通过控件的属性来操作的,通过控制服务器控件的属性,就可以相应的改变服务器生成的html.

     下面是一个服务器控件的属性:

 

 

Visual Studio里,当通过属性窗口来改变控件的属性时,VS会自动将属性添加到对应的aspxHTML里,而在html内添加属性时,在属性窗口里也会对应显示更改过的属性视图比如:

 

<asp:Button ID="Button1" runat="server" Text="Button" CommandName="cName" />

 

在属性窗口里会对应显示,如下图:

 

 

当然某些控件的属性会略有不同,比如常用的Label控件:

<asp:Label ID="Label1" runat="server">这里是Text属性</asp:Label>

 

在开始符号和结束符号之间的内容会被设置成Text属性.

 

当然,最实用也是我们最常用的是通过C#以编程的方式动态的修改控件的属性.这就不说了.

 

 

控件的方法

控件通过方法来操作更加复杂的控件操作,通常在控件的方法内部会有很复杂的过程,一般包括几个内部函数和属性的组合.比如:

private void LoadDropDownList()

{

ArrayList list = new ArrayList();

list.Add("Hello");

list.Add("Goodbye");

GridView1.DataSource = list;

GridView1.Databind();

}

 

这样,通过调用Databind()方法,就可以讲gridview和数据源进行绑定.

   

控件的事件

控件通过事件来通知其它类或者客户端其内部的某个状态被改变。事件是一种灵活的机制,当控件与客户端进行交互的时候,事件会通过Http Post方法和服务器进行交互,通过自动回传机制,WEB开发中的事件表现起来就会像开发Windows FORM程序一样(当然,速度是无法和Form相比的)

 

在Visual Studio中,可以在属性窗口中通过黄色的闪电图标来显示和控制控件的事件,如下:

 

当双击相应的事件后,会在后台产生默认的处理方法,命名规则为控件名_事件名

 

 

WEB Page本质是一个控件树

 

   aspx页面的头部将Trace="true"设置到Page后,页面会显示相应的追踪信息,在Control Tree那一节,你会发现整个页面其实就是一个控件树,如图:

 

 

根控件?

   OK,既然asp.net页面的本质是一个控件树,按照C#是完全面向对象的语言惯例(所有的一切都是继承于System.Object),那么所有控件共同的父类是什么?

  

   asp.net中,所有的控件被分布在3个主要命名空间中,分别为:

   System.Web.UI

   System.Web.UI.WebControls

   System.Web.UI.HtmlControls

它们之间的关系如下图所示

 


System.Web.UI命名空间

由上图可知,System.Web.UI处于继承树顶端的,而System.Web.UI.Control是所有控件的基础,所有的控件必须强制直接或者间接的继承Control,而直接继承Control类的是Page类,以及UserControl类。

 

System.Web.UI.HtmlControls命名空间

      System.Web.UI.HtmlControls命名空间中的对象,通过在html标签中加入runat=”server”属性,能够将HTML中的标签转化为服务器控件。Asp.net的引擎会将的页面中的HTML标签和System.Web.UI.HtmlControls内的对象进行匹配。System.Web.UI.HtmlControls命名空间如图:

 

 

 

未完待续………

 

  • 大小: 11 KB
  • 大小: 36.7 KB
  • 大小: 86.4 KB
  • 大小: 207.1 KB
  • 大小: 115.8 KB
分享到:
评论

相关推荐

    Asp.net基础控件笔记

    关于asp.net 基础控件的学习笔记。

    asp.net控件笔记

    这些控件笔记对初学者学习ASP.NET很有帮助,可以帮助初学者对ASP.NET有个初步的了解和认识。

    asp.net自定义控件代码学习笔记

    最近看了下Clingingboy写的《asp.net控件开发基础》,做些笔记。

    asp.net c#基本控件属性课堂笔记整理

    C# 各控件的属性,我整理的很详细,下载下来一定要多练,多敲代码,多思考、多整理这样才能把控件用灵活

    ASP.NET学习笔记

    一、ASP.NET 2.0中CSS失效的问题总结 二、CSS制作圆角边框 三、常用的CSS BUG解决方法与技巧 四、CSS常用的一些小技巧 五、firefox无法显示背景图片:解决方案 ASP.NET 一、 控件连接数据库 二. 从excel导入...

    asp.net知识库

    VS2005 ASP.NET本地化学习笔记&感受 在自定义Server Control中捆绑JS文件 Step by Step 深度解析Asp.Net2.0中的Callback机制 使用 Web 标准生成 ASP.NET 2.0 Web 站点 ASP.NET 2.0基于SQLSERVER 2005的aspnetdb.mdf...

    asp.net导出数据到Excel的几种方法 学习心得

    asp.net导出到Excel也是个老生常谈的问题,在此归纳一下。 第一种是比较常用的方法。是利用控件的RenderControl功能,得到该控件生成的HTML,然后以Excel文件的类型输出到客户端。这种方法生成的其实是个HTML文件,...

    中美 IT 培训 C# Asp.net 全套笔记1

    价值一万八的中美 IT 培训笔记一万多培训费的资料,北京权威的.NET培训机构】 【认真学习后你一定能成为优秀的.net程序员】 学习对象:1.大专及大专以上理工科学历,或有相当学历的理工科教育背景  2.热爱...

    中美 IT 培训 C# Asp.net 笔记3

    (160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...

    .net技术资料大全(语言规范 源码教程 学习笔记 技术资料 .net代码生成器)

    ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他...

    中美 IT 培训 C# Asp.net 笔记2

    (160课时) 系统讲授 ASP.Net2.0、ADO.Net2.0、 基于数据库的WEB应用程序、的开发;详细地讲授Web Service及其应用和相关的安全性问题、WSE(Web Services Enhancements)、SOAP、WSDL、UDDI、Windows Service、VSS...

    ASP升级.net资料大全(c#入门 语言规范 源码教程 学习笔记 技术资料 面试题 asp与.net代码生成器)

    ASP.NET编程技术与交互式网页设计 asp.net亲密接触_带源码 C#学习 01_类.htm.txt 02_构造函数的执行序列.htm.txt 03_抽象类和接口.htm.txt 04_结构类型.htm.txt 05_类成员的定义.htm.txt 06_类成员的其他...

    Visual C#学习笔记光盘

    第五篇介绍了Web编程,主要包括ASP.NET开发,ASP.NET中的控件,ASP.NET中的数据绑定和ASP.NET中的对象;第六篇精选了几个能囊括本书介绍的所有理论的实例,能使读者彻底精通C#编程技术。 本书内容全面,不但适合于...

    ASP.NET MVC学习笔记

    更像一种架构模式,或者一种思想,刚开始一听MVC想到的就是模板引擎,NVelocity,StringTempleate等,但感觉如果只是为了用模板这种独立的前台设计方式,没必要用ASP.NET MVC,大多数情况用Repeaterk控件和自定义...

    那些年,我还在学asp.net(一) 学习笔记

    C#知识,由于当时上过C++,所以就没有看这些,直接从asp.net开始,主要是学习一下asp.net用到的一些基本控件,后来感觉差不多了就不再看了,开始学习asp.net的数据教程(scott教程),那些年慢慢的走向web开发了。...

    net学习笔记及其他代码应用

    11.用.net做B/S结构的系统,您是用几层结构来开发,每一层之间的关系以及为什么要这样分层? 答:一般为3层 数据访问层,业务层,表示层。 数据访问层对数据库进行增删查改。 业务层一般分为二层,业务表观层...

    那些年,我还在学习asp.net(二) 学习笔记

    一、学习asp.net的准备知识 正如我前面那些年所学习的,在开始之前得对它们有一定的认识: 1、 html语言的基本使用 2、 CSS+DIV的学习,撑握基本的布局 3、 Javascript基础。在初期,特别是对DOM的操作。 4、 ...

    ASP.NETGridView数据源控件详解

    详细讲解GridView的用法,是我学习GridView是笔记,知识点详细,可能没有代码,但是方法给出,个人感觉比72绝技好!!!

Global site tag (gtag.js) - Google Analytics