控件开发之入门系列(1):建立一个简单控件

      概述

      这个入门系列我会说一些怎样在ASP.NET 框架中开发自定义控件,我把这个主题分为两部分来说,一是开发自定义控件,另一个是高级控件开发。在第一部分中,我谈论了控件开发的一些基本主题,在下一部分,我主要是说一些高级主题,如模板、数据绑定。

      本文为系列第一篇,从一个简单的控件开始,我也“Hello World!”一把,开始构建一个显示“Hello World!”的控件。   

    建立一个简单控件   

      我们将从一个简单的控件HelloWord开始,这个控件在页面中显示“Hello Word!”。
      代码如下:
     

HelloWorld.cs

      
      上面是继承于Control类的HelloWorld控件类的c#代码。
      继承于Control类,实际是System.Web.UI.Control类,这主要是你可以充分利用作为基类的Control类的所有属性、方法和事件。
      在上面的代码中,重载了Control类的Render方法,当ASP.NET页面呈现内容时,会调用页面中的所有控件的Render方法,所以当页面自身呈现时,在Render方法中所要输出的内容将会生成,显示在页面html代码中。
      Render 方法拥有一个输入参数,就是HtmlTextWriter类的实例,通过调用HtmlTextWriter类的Write()方法,可以生成内容,在HelloWord类中,Write()方法显示“Hello World!”文本。

      在HelloWord类中,导入了三个命名控件,System,System.Web,Syetem.Web.UI,通常,当构建一个自定义控件一直导入这三个命名空间是一个好的建议,这些命名空间包括开发控件的基类,譬如Control和WebControl。

      最后为HelloWorld这个类建立了一个MyControls的命名空间,你可以完全按照你的意愿去建立,在ASP.NET页面中实例化控件时你只需要去引用这个命名空间就可以了(注意,在编程中良好的习惯非常重要,c#编程参考中建议命名控件采用Pascal命名方法,并由公司名+组织名+项目名方式编写)。

      在VS里以类库方式生成为MyControls.dll,然后复制到ASP.NET Application的bin目录中,下面代码为在WebTest项目里ASP.NET页面中使用HelloWorld控件。

     
Default.aspx

   
      好的,HelloWorld控件就写到这了,是不是感觉非常简单,到现在是不是非常自信了?那就跳往后面的主题吧!

      代码下载:Part_Ⅰ.rar

      下一篇:控件开发之入门系列(2):利用HtmlTextWriter

      作者:Dean
      出处:http://deanme.cnblogs.com/
     

posted @   wit  阅读(503)  评论(1编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
· 使用C#创建一个MCP客户端
点击右上角即可分享
微信分享提示