ASP.NET控件开发 - 概念和HelloWorld控件

简介: 今天我们来看一下如何开发自己的ASP.NET控件。要开发ASP.NET控件首先必须知道一些控件开发的常用基类。如下:1)Control  这是所有控件的基类,所有控件都直接我间接继承它。2)WebControl  用于开发简单控件,它和Control的区别就是:      WebControl不但继承了Control的所有属性,还增加      了布局,可访问性,外观样式等特性。
今天我们来看一下如何开发自己的ASP.NET控件。
要开发ASP.NET控件首先必须知道一些控件开发的常用基类。
如下:
1)Control
 
这是所有控件的基类,所有控件都直接我间接继承它。

2)WebControl
 
用于开发简单控件,它和Control的区别就是:
      WebControl不但继承了Control的所有属性,还增加
      了布局,可访问性,外观样式等特性。
   (我们等下的HellowWorld控件就要继承它)

3)CompositeControl
 
用于开发组合控件,把现有控件组合起来。

4  DataBoundControl
  开发数据绑定控件。(例如:GridView, DropDownList)

5) HierarchicalDataBoundControl
 
开发具有层次级别的数据绑定控件。(例如:Menu, TreeView)

6) HierarchicalDataSourceControl
  作为HierarchicalDataBoundControl的数据源控件。

7)ListControl
 
开发列表类型控件。(例如:DropDownList, ListBox)

8)  BaseValidator
 
开发验证控件。

下面我们就来看一下开发一个简单的HellowWorld控件的基本步骤。

首先,我们需要新建一个控件项目,我们以后的控件都会在这个项目里。
参考下图:


然后,需要给我们的Web项目添加对我们控件项目的引用,参考下图:




接着,我们可以创建一个HelloWorld控件了,需要新建一个cs文件,如下:



下面是 HelloWorld控件的源代码:
using  System;
using  System.Collections.Generic;
using  System.ComponentModel;
using  System.Linq;
using  System.Text;
using  System.Web;
using  System.Web.UI;
using  System.Web.UI.WebControls;

namespace  BlogControl
{
    [ToolboxData(
" <{0}:HelloWorld runat=server></{0}:HelloWorld> " )]
    
public   class  HelloWord : WebControl
    {
        
protected   override   void  Render(HtmlTextWriter writer)
        {
            writer.Write(
" Hello David,this is your first ASP.NET control application! " );
        }
    }
}

然后,在客户端的aspx页面里我们为了使用控件,必须注册它,如下语句:
<%@ Register Assembly="BlogC ontrol" Namespace="BlogControl" TagPrefix="cc1" %>

完整代码如下:
<% @ Page Language = " C# "  AutoEventWireup = " true "  CodeBehind = " HelloWorld.aspx.cs "  Inherits = " BlogNet.AspNetControl.HelloWorld "   %>

<% @ Register Assembly = " BlogControl "  Namespace = " BlogControl "  TagPrefix = " cc1 "   %>

<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >

< html  xmlns ="http://www.w3.org/1999/xhtml"   >
< head  runat ="server" >
    
< title > HelloWord控件 </ title >
</ head >
< body >
    
< form  id ="form1"  runat ="server" >
    
< div >
        
< cc1:HelloWord  ID ="HelloWord1"  runat ="server" />
    
</ div >
    
</ form >
</ body >
</ html >

输出结果:
Hello David,this is your first ASP.NET control application!




























目录
相关文章
|
23天前
|
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
38 9
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
精选10款C#/.NET开发必备类库(含使用教程),工作效率提升利器!
64 12
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET WinForm开发的一款硬件及协议通讯工具
基于.NET WinForm开发的一款硬件及协议通讯工具
一款基于 .NET MVC 框架开发、功能全面的MES系统
一款基于 .NET MVC 框架开发、功能全面的MES系统
.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。
本文深入探讨了.NET开发技术在数字化时代的创新作用,从高效的开发环境、强大的性能表现、丰富的库和框架资源等方面揭示了其关键优势。通过企业级应用、Web应用及移动应用的创新案例,展示了.NET在各领域的广泛应用和巨大潜力。展望未来,.NET将与新兴技术深度融合,拓展跨平台开发,推动云原生应用发展,持续创新。
51 4

热门文章

最新文章

相关实验场景

更多
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等