如题

解决方案 »

  1.   

    一,前者用Import,后者用Inherits.
    二,前者需编译成.dll,后者一般不编译.
      

  2.   

    asusharp(拂尘之手.NET) 说的好!
      

  3.   

    我喜欢使用code-behind
    觉得挺方便的.
      

  4.   

    to  asusharp(拂尘之手.NET) :为什么说codebehind不编译呢? 如果不编译, aspx文件怎么运行? 需要知道, 当你发布你的程序的时候,codebehind编译得到的dll也要放到虚拟目录下的.
      

  5.   

    9494,codebehind也是要编译的,点击菜单-生成解决方案,编译到DLL中了
      

  6.   

    两者的主要目的都是为了页面和代码的分离 !codebehind一般说来和一个aspx页面是对应的,就是上面说的那个inherits.业务组件可以多个页面拿来公用,就像.net框架 本身的类一样。codebehind也可以编译以后在使用的。比较极端的办法是把所有的aspx的页面内容都集成到 codebehind里,然后编译,在一个aspx页面里秩序一行代码变能实现所有的逻辑!
      

  7.   

    哦,原来楼主问的是这个意思啊!那么所谓业务组件正如楼上所说,就是完成一个或一组功能的类定义的集合,也就是类库而code-behind本身是一种机制,是一种试图将代码和页面分离的编写方式;页面所对应的code-behind代码文件是一个从page类继承来的,将作为该页面实际运行时的抽象基类。它将被编译为一个dll文件,在它所对应的页面运行时,将会以该dll中的类为基类生成实际运行时的dll。所以说,窃以为,code-behind对应的代码文件就是一种特殊的业务组件,它应该从page类继承,它所对应的业务就是页面事件的处理。