看别人的代码。有的人在aspx页面这样写<script runat="server">
    protected void btnButton_Click(object sender, EventArgs e)
    {
         //事件
    }
</script>
这样的aspx直接替换到服务器上就能使用,并没有生成额外的DLL。而我把 btn的事件写在后台,单独的CS页面里,如果要修改,必须要重新编译,替换DLL才能使用。问题1 这两种写法有什么不同?2 不需要编译,只要替换就能使用的这种写法 效率是不是比写在后台单独CS页面中高?

解决方案 »

  1.   

     Code Behind就是所谓的代码分离,自从Microsoft公司推出了ASP.NET以后,Code Behind就是一个热门的话题。在一般的ASP.NET文件中,Code Behind主要是用二个文件来创建一个ASP.NET的页面,其中一个是设计文件,一般以.aspx或者.ascx做为扩展名,而另外一个是程序代码文件,一般以.vb或者.cs做为扩展名,其程序设计语言主要是VB.Net或者是C#。3 ^* P* x5 C& l0 n" ?
     
      Code Behind优点
     
      用过ASP编过程序的人都知道,ASP程序是把界面设计和程序设计混合在一起的。因此当程序设计人员要修改应用程序界面布局的时候,就往往需要更改大量与界面无关的代码,对于一个小程序,工作量不是很大,如果对于代码量很大的程序,就是一项工作量不小的事情。而Code Behind把界面设计代码和程序设计代码以不同的文件分开,对于代码的重复使用,程序的调试和维护都是革命性的。还有一点是,当你发布你的网站的时候,你就可以利用这种技术来有效的保护你的代码。这对于程序的安全性是一个提高。
      

  2.   

    DLL 效率高。 aspx不推荐,对于简单的页面凑合可以。 如果过于复杂代码也一大堆 自己维护也不方便。
      

  3.   

    这些代码也可以写到cs文件中,不会生成dll,这是aspx页面的服务端代码
      

  4.   


    写到CS文件里 就会生成DLL了呀
      

  5.   

     Code Behind就是所谓的代码分离,自从Microsoft公司推出了ASP.NET以后,Code Behind就是一个热门的话题。在一般的ASP.NET文件中,Code Behind主要是用二个文件来创建一个ASP.NET的页面,其中一个是设计文件,一般以.aspx或者.ascx做为扩展名,而另外一个是程序代码文件,一般以.vb或者.cs做为扩展名,其程序设计语言主要是VB.Net或者是C#。3 ^* P* x5 C& l0 n" ?
     
      Code Behind优点
     
      用过ASP编过程序的人都知道,ASP程序是把界面设计和程序设计混合在一起的。因此当程序设计人员要修改应用程序界面布局的时候,就往往需要更改大量与界面无关的代码,对于一个小程序,工作量不是很大,如果对于代码量很大的程序,就是一项工作量不小的事情。而Code Behind把界面设计代码和程序设计代码以不同的文件分开,对于代码的重复使用,程序的调试和维护都是革命性的。还有一点是,当你发布你的网站的时候,你就可以利用这种技术来有效的保护你的代码。这对于程序的安全性是一个提高。
      

  6.   

    都会产生DLL文件的,即使写在aspx里面也是的,在首次加载的时候,会自动编译到dll文件,只不过那个dll文件不是在你的网站目录,而是在系统目录下面,你可以从网站的错误信息找出那个路径。
    另外在WIN7的IIS配置中,你可以找到一项叫“.NET编译”的选项,这更加说明了aspx文件在加载的时候要编译一次,产生dll文件。题外话,jsp的网站也是这样的,首次访问编译或有改动的时候自动编译。
      

  7.   


    是这样的!你可以修改code-behind文件中的代码,也是可以直接执行的,无需编译(自动编译)。(除非你不是使用网站的web site工程,而是web application工程)想知道aspx文件编译到哪里,以及想看看源代码,你可以在文件开头第二行以后写<script runat="server">啊手动阀沙发沙发</script>这种乱码,然后直接点击鼠标右键,选择“在浏览器上查看”。这时候,asp.net会运行代码生成器将aspx生成源代码并编译成为dll。随后,你可以看到asp.net给出的信息页面,页面上有两个链接:    1. 显示详细的编译器输出
        2. 显示完整的编译源这可以作为研究asp.net机制的一个工具。你可以由此懂得aspx页面到底是怎么回事。
      

  8.   

    从编译命令 csc.exe 所标记的dll的输出路径,你可以看到dll文件到底输出到哪里。从编译源,你可以看到aspx到底是如何继承code-behind代码中的class的,以及如何根据各个asp.net控件而生成代码的。看懂系统的代码,才是专业开发人员。有些人说“走个纯业余人员已经很不错了,我干嘛要多问一个‘为什么’呢?”,这就是asp.net有点“伤不起”的地方(惯坏了一些人)。
      

  9.   

    写法不同而已,微软推荐的是代码分离,保留前面那种方法估计是为了和以前的asp保持兼容。实际上asp。net很少有人把服务端代码和页面代码写到一起。