首页 | 互联网 | IT动态 | IT培训 | Cisco | Windows | Linux | Java | .Net | Oracle | 软件测试 | C/C++ | 嵌入式开发 | 存储世界 | 服务器
网络设备 | IDC | 安全 | 求职招聘 | 数字网校 | 网页设计 | 平面设计 | 技术专题 | 电子书下载 | 教学视频 | 源码下载 | 搜索 | 博客 | 论坛
中国IT实验室Dotnet频道
中国IT教育
Google
首页 ASP.NET  C#  XML/WebService ADO.NET VC.NET VB.NET .NET 资讯动态 专题 RSS订阅 讨论 下载
您现在的位置: 中国IT实验室 >> Dotnet >> ASP.NET >> 正文

ASP.NET控件开发(一)-显示控件内容

    asp.net 控件的显示自然会离不开输出HTML、CSSJavascript等前台的显
示内容,所以开发一个控件的时候第一件事就是要知道如何输出客户端要显示的
内容。

    一、选择基类

    asp.net 中所有的标准控件都可以拿过来作为基类,如果我们要开发的控件
只是对原有的标准控件做一些功能上的加强的话(如:你对TreeView的CheckBox
添加一些随动的功能),就可以直接拿标准控件过来作为基类。

    一般的如果开发的控件从标准里面找不到合适的,可以从三个类中来继承:

    System.Web.UI.Control System.Web.UI.WebControls.WebControl System.Web.UI.WebControls.CompositeControl

    下面介绍下这三个类的关系跟区别:

    Control :只提供简单的呈现,没有对css 的支持。如:Literal 控件WebControl
:建立了对控件外观的支持。适合可视化的控件来继承,如:Button CompositeControl
:是派生多个控件复合的。适合开发应用asp.net 中的标准控件。

    三者的关系:Control 是asp.net 所有控件的基类,WebControl是从Control
中继承而来,CompositeControl是从WebControl中继承而来。

    二、如何呈现

    Control 的呈现

    Control 类中的呈现是通过方法Render来实现的。Render的原型:

    protected internal virtual void Render(HtmlTextWriter writer ){
……}

    HtmlTextWriter writer 参数是在运行时有调用Render方法的框架所提供,
所以我们可以同过重写Render方法来实现内容的呈现。

    HelloWorld示例:

 public class HelloWorld : Control{
protected override void Render(HtmlTextWriter writer)
{
writer.WriteLine("Henllo World");
}
}

  编译之后,在新的项目中添加对dll文件的使用,会呈现出"Hello World"。

    Control 输出html内容

    在Render方法中我们要实现输出html标签跟样式可以借助于:HtmlTextWriterTag、
HtmlTextWriterAttribute 、HtmlTextWriterStyle 这三个枚举来实现。HtmlTextWriterTag
是表示Html标签,HtmlTextWriterAttribute 是表示标签上的属性,HtmlTextWriterStyle
是表示样式。

 

[1] [2] 下一页

【责编:michael】

中国IT教育

相关产品和培训
文章评论
 友情推荐链接
 认证培训
 专题推荐

 ·WEB程序开发--ASP.NET和PHP、JSP究竟学哪个?
 ·五步带你入门XML
 ·关于Java框架技术专题
 ·XML全攻略技术专题
 ·JAVA开源技术介绍专题
 ·Java嵌入式开发之J2ME技术专题
 ·超前体验 Oracle 11g的5个新特性…
 ·揭密使用VB.NET的五个实用技巧
 ·Oracle和SQL Server常用函数对比专题…
 ·展现C#世界 C#程序设计专题…
 今日更新
 社区讨论
 博客论点
 频道精选
 Dotnet频道相关导航