服务器控件开发基础
当开发一个服务器控件时,首先要明白其内部的工作机理。其实在页面内部每一点由asp.net返回的HTML代码无论是简单的<span>标签,或者是button按钮,或者是复杂的gridview控件,都是由继承自System.Web.UI.Control的对象生成的。
控件的属性
控制控件的方法大多是通过控件的属性来操作的,通过控制服务器控件的属性,就可以相应的改变服务器生成的html.
下面是一个服务器控件的属性:
在Visual Studio里,当通过属性窗口来改变控件的属性时,VS会自动将属性添加到对应的aspx的HTML里,而在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 Web表单控件 ASP.NET Web表单控件是构建用户界面的基础,它们直接对应于HTML元素,如文本框(TextBox)、按钮(Button...
ASP.NET 第一步学习笔记 ASP.NET 是一种基于 Microsoft .NET Framework 的 Web 应用程序开发平台,它提供了一个强大和灵活的开发环境,允许开发者快速构建功能强大且可维护的 Web 应用程序。下面是 ASP.NET 第一步...
ASP.NET架构基础知识主要涵盖Web应用程序的生命周期、请求处理过程以及页面编译模型。在这个主题下,我们将深入探讨ASP.NET如何接收并处理来自客户端的HTTP请求,以及如何在服务器端进行编译和执行。 首先,ASP.NET...
总之,ASP.NET学习笔记涵盖了从基础到高级的诸多主题,包括但不限于ASP.NET的架构、Web Forms和MVC的区别、控件使用、身份验证与授权、数据库操作、路由和视图解析、ASP.NET Core的特性等。无论你是初学者还是有经验...
ASP.NET 4是微软开发的一款用于构建Web应用程序的框架,它是.NET Framework的一部分,提供了一整套工具和服务,帮助开发者创建功能丰富的、交互性强的Web应用。这份"ASP.NET4学习笔记"包含了多个部分,旨在帮助学习...
这份“ASP.NET学习大总结+笔记”涵盖了从基础概念到高级特性的全面知识,是学习和巩固ASP.NET技术的宝贵资料。 一、ASP.NET简介 ASP.NET是服务器端的编程模型,它允许开发人员使用多种编程语言(如C#、VB.NET)创建...
VS2005.net控件学习笔记是一份针对初学者的详细教程,旨在帮助那些刚开始接触Visual Studio 2005 .NET开发环境的人更好地理解和使用控件。这些控件是构建用户界面的基础元素,对于任何.NET应用程序的开发都是至关...
《庖丁解牛—纵向切入ASP.NET 3.5控件和组件开发技术》是一本深入探讨ASP.NET 3.5平台下控件与组件开发的专业书籍。此书以其独特的"庖丁解牛"比喻,旨在帮助开发者们精确、深入地理解和掌握控件和组件的开发技巧。...
此压缩包文件包含的是一个关于ASP.NET 2.0网络编程的学习笔记源代码,其中很可能包含了多个实例,帮助学习者通过实践理解ASP.NET 2.0的核心概念和技术。 在ASP.NET 2.0中,主要的知识点包括: 1. **页面生命周期**...
本学习笔记将深入探讨ASP.NET的核心概念、主要特性和实际应用场景。 首先,ASP.NET的核心是页生命周期模型,它定义了从请求到响应的整个过程。在每个页面的生命周期中,包括初始化、加载、验证、呈现和卸载等阶段,...
这份“ASP.NET部分笔记”包含了初学者在学习过程中可能遇到的关键概念和实践技巧。 1. **基础概念** - ASP.NET是一种服务器端的技术,用于生成动态网页和Web应用程序。 - .NET Framework是ASP.NET的基础,它包括...
本学习笔记将深入探讨ASP.NET的核心概念、开发工具、语法特性以及网站开发流程,帮助初学者快速掌握这一技术。 1. **基础概念** - ASP.NET:是一个开源的服务器端Web开发平台,它提供了构建动态网站、Web应用和Web...
本学习笔记主要记录了作者在学习ASP.NET过程中的关键知识点与实践心得,旨在帮助初学者更好地理解和掌握ASP.NET的基本概念和技术要点。 ### 1. 关于页面关闭与PostBack - **页面关闭**: 在ASP.NET中,如果需要关闭...
这份"ASP.NET课堂笔记"涵盖了学习ASP.NET过程中的一些核心概念和技术,旨在帮助初学者和有经验的开发者更好地理解和应用这个技术。 1. **基础概念** - ASP.NET架构:ASP.NET是基于HTTP协议的,通过控件和事件模型...
在ASP.NET实际开发中,开发者通常会涉及到一系列关键知识点,这些知识点构成了ASP.NET应用程序的基础架构。本笔记整理了从入门到进阶的重要概念,旨在帮助读者深入理解和掌握ASP.NET的实际应用。 首先,ASP.NET是...
掌握这些控件及其属性是ASP.NET开发的基础,多练习、多思考、多整理,能帮助你更加熟练地运用它们,创建出功能丰富的Web应用程序。在实际项目中,还可以结合CSS和JavaScript进一步增强用户体验,实现更多定制化的...
ASP.NET是微软公司推出的一种基于.NET Framework的服务器端编程模型,用于构建动态网站、Web应用程序和Web服务。这个“ASP.NET学习大全(初学者整理过的...这份笔记涵盖了从基础到进阶的知识,是学习ASP.NET的宝贵资源。