asp.net组件开发(C #) 一

来源:互联网 发布:kakakaoo的淘宝网店 编辑:程序博客网 时间:2024/06/05 18:47
 前言:

          对于Asp.net来说,组件化的程序会带来很快的开发速度和更好的后期维护效果。

          举例来说,一般我们防范各种Web攻击,需要在程序中做大量的工作。我们要防范SQL注入攻击,这时我们可以通过使用存储过程、参数化查询、字符过滤等手段进行程序的设计,而.net中没有这样的组件可以供我们使用。如果自己开发一套这样的组件,可以在VS的IDE中方便的编辑各种属性,通过属性设置即可获得安全的Sql查询等。

        再比如,我们经常对页面内容进行分页、格式化显示等,我们可以通过制作一系列的组件,通过调用组件并设置组件的各种属性值即可修改显示的风格、内容等,这样就大大提高了开发的速度。

         这儿说的组件不同于ascx用户控件。

                     

一、组件开发的基础知识

         组件的开发是Asp.net程序中比较麻烦的,所以一定要有耐心学习并深入研究下去。下面就组件开发的整体流程说一下,有了整体的流程印象了,再把整体的框架的内容补充进去。

          组件开发流程:

          1、建立CS类文件:如果使用VB语言,就不是CS类了。

               CS类文件的文件结构:

                namespace  组件库名           //   命名空间

                {

                         public Class 类名         //使用组件时使用类名做引用的名称

                         {

                                 ……

                          }

                 }

               这儿先不涉及 详细的结构和具体的编程效果,在后面的实例中再学习。

          2、使用VS中的  生成  菜单中的生成命令生成  .dll文件

                或在 cmd 窗口中  csc /t:library /out:输出路径 /r:引用的命名空间 输入文件名

              

           3、在网页中调用组件: 有多种方法

                 (1)直接在网页中使用<@ register ……>指令添加命名空间和标记

                 (2)在web.config文件中添加 assembly

                  (3)把文件放在App_code文件夹中

                这三种方法都可以。

 

二、一个最简单的例子

          使用Visual Studio 2008可以快速开发组件,比使用记事本编写程序要快的多。先介绍使用Visual Studio2008做一个简单的组件。如果需要演示程序的原理时或进一步说明程序的方法时,我们再使用记事本来写程序。

         1、首先建立一个  解决方案

         2、给解决方案  添加一个新建网站

         3、给解决方案  添加一个新建项目 >  C#类库(如果习惯使用VB,可以建立VB类库),类库名为CompnetTest

         4、给类库添加以下代码

                        using System;
      using System.Web.UI;
      using System.ComponentModel;
      using System.Text;

      [assembly:TagPrefix("MyLibrary", "MyComponet")]

      namespace MyLibrary
      {
            [DefaultProperty("Text"), ToolboxData("<{0}:Hello runat=server></{0}:Hello>")]
            public class Hello:Control
            {
                  private string text;
                  public Hello()
                  {
                  }
                  [Bindable(true),Category("Appearance"),DefaultValue("HelloAspNet")]
                  public String Text
                  {
                        get { return text; }
                        set { text = value; }
                  }

                  protected override void Render(HtmlTextWriter writer)
                  {
                        writer.Write(Text);
                        base.Render(writer);
                  }
            }
      }

       5、在类库项目上右键  属性,设置输出目录为  上面网站建立的项目的App_code的目录下(如果没有这个目录,建立一个)。

     6、使用Visual Studio中的 生成>生成CompnetTest

      7、打开网站的页面设计视图,在工具箱的最上面已经有一个  CompnetTest 选项卡,里面有一个控件 Hello,可以通过拖放或双击的方式添加到页面中了。

     (因为我在给类库起的名字是HelloAspNet,所以这儿效果显示HelloAspNet)

       图片 

 

  图片                                  设计窗口中的效果


       图片                              这是属性设置窗口

图片 这是引用代码

      8、设置控件的属性  比如上面的210,你可以在这输入任意字符,即可显示!

      上面内容是创建一个简单的自定义组件的方法,下一篇,我要把上面的代码详细的解释一下,这样就可以举一反三的使用这些代码来创建更复杂的组件了。

原创粉丝点击