您的位置:首页 > 编程语言 > ASP

ASP.NET控件开发学习笔记--第7回 从WebControl继承

2008-03-01 10:38 941 查看

第7回 从WebControl继承

终于看到了《Professional ASP.NET 2.0 Server Control and Component Development》这本书的第三章,第二章有一部分我没讲,就是用户控件(ascx控件),被省略掉了,现在先关注定制控件。这本书的第三章讲的是定制样式,居然对WebControl的部分源码进行分析,很强悍啊!而且讲得很细致,建议大家买这本书。由于看英文没有看中文这么容易入脑,看第一遍只看了个大概,似懂非懂,再看第二遍就清晰得多了。我们还是从WebControl讲起吧。

WebControl是什么?有什么作用?它存在于命名空产间System.Web.UI.WebControls之中,它从Control继承而来。它和Control类一样,也是一个用于编写控件的基础类。两者有什么不同呢?我们用最直观的方式来展现两者的不同之处。新建一文件“FromControl.cs”,输入如下代码:

例7-1代码1FromControl.cs代码

using System.Web.UI;

[assembly:TagPrefix("MyControl", "CG")]

namespace MyControl

{

public class FromControl:Control

{

protected override void Render(HtmlTextWriter writer)

{

writer.WriteLine("我继承自Control");

}

}

}

再新建一文件“FromWebControl.cs”,输入如下代码:

例7-1代码2:FromWebControl.cs代码

using System;

using System.Web.UI;

using System.Web.UI.WebControls;

[assembly:TagPrefix("MyControl", "CG")]

namespace MyControl

{

public class FromWebControl:WebControl

{

protected override void Render(HtmlTextWriter writer)

{

writer.WriteLine("我继承自WebControl");

}

}

}

好分别从Control和WebControl继承作了两个控件,下面编译它们。新建一个Compile.bat文件,输入如下代码:

例7-1码3:Compile.bat代码

csc /t:library /out:H:\ASP\bin\FromControl.dll H:\ASP\FromControl.cs

csc /t:library /out:H:\ASP\bin\FromWebControl.dll H:\ASP\FromWebControl.cs

pause

记住,路径不要抄我的,根据你的实际情况来。双击Compile.bat批处理在bin文件夹下生成两个DLL。然后在Visual Studio中新建一个ASP.NET Web应用程序。并把这两个控件添加到工具栏中(前面讲过这如何把控件弄进VS了,这里不再啰嗦)。好,把两个控件都放到设计窗体中,然后分别选中这两个控件,然后观察属性窗口,如图7-1所示:



看看属性上的差别,你应该从视觉上了解它们之间的区别了吧!当然,差别远不止如此,现在比较忙,就讲这么一点,明天再讲。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: