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!




























目录
相关文章
|
10月前
|
人工智能 芯片
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
D1net阅闻|OpenAI员工疯狂暗示,内部已成功开发ASI?被曝训出GPT-5但雪藏
|
8月前
|
SQL 小程序 API
如何运用C#.NET技术快速开发一套掌上医院系统?
本方案基于C#.NET技术快速构建掌上医院系统,结合模块化开发理念与医院信息化需求。核心功能涵盖用户端的预约挂号、在线问诊、报告查询等,以及管理端的排班管理和数据统计。采用.NET Core Web API与uni-app实现前后端分离,支持跨平台小程序开发。数据库选用SQL Server 2012,并通过读写分离与索引优化提升性能。部署方案包括Windows Server与负载均衡设计,确保高可用性。同时针对API差异、数据库老化及高并发等问题制定应对措施,保障系统稳定运行。推荐使用Postman、Redgate等工具辅助开发,提升效率与质量。
297 0
|
12月前
|
Linux API C#
基于 .NET 开发的多功能流媒体管理控制平台
基于 .NET 开发的多功能流媒体管理控制平台
198 9
|
12月前
|
Web App开发 前端开发 调度
一款基于 .NET + Blazor 开发的智能访客管理系统
一款基于 .NET + Blazor 开发的智能访客管理系统
172 8
|
12月前
|
前端开发 JavaScript C#
基于.NET8+Vue3开发的权限管理&个人博客系统
基于.NET8+Vue3开发的权限管理&个人博客系统
178 7
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
439 0
|
开发框架 前端开发 JavaScript
ASP.NET MVC 教程
ASP.NET 是一个使用 HTML、CSS、JavaScript 和服务器脚本创建网页和网站的开发框架。
231 7