zoukankan      html  css  js  c++  java
  • ASP.NET控件开发学习笔记第7回 从WebControl继承

     

    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代码2FromWebControl.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");
            }
        }
    }

     

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

    7-13Compile.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所示:


     

    看看属性上的差别,你应该从视觉上了解它们之间的区别了吧!当然,差别远不止如此,现在比较忙,就讲这么一点,明天再讲。


  • 相关阅读:
    [国家集训队] Crash 的文明世界
    [国家集训队] middle
    [正睿集训2021] 构造专练
    [正睿集训2021] LIS
    CF482E ELCA
    UVA
    UVA
    UVA
    UVA
    UVA
  • 原文地址:https://www.cnblogs.com/abatei/p/1087015.html
Copyright © 2011-2022 走看看