【100分】求助!关于代码写哪里的问题!菜鸟提问

二当家 2013-01-14 03:09:00
看别人的代码。有的人在aspx页面这样写

<script runat="server">
protected void btnButton_Click(object sender, EventArgs e)
{
//事件

</script>


这样的aspx直接替换到服务器上就能使用,并没有生成额外的DLL。

而我把 btn的事件写在后台,单独的CS页面里,如果要修改,必须要重新编译,替换DLL才能使用。

问题1 这两种写法有什么不同?

2 不需要编译,只要替换就能使用的这种写法 效率是不是比写在后台单独CS页面中高?
...全文
415 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
cchvsgame 2013-01-15
  • 打赏
  • 举报
回复
看代码,需不需要执行后台代码,不需要的,就不用编译
codinghello 2013-01-15
  • 打赏
  • 举报
回复
写法不同而已,微软推荐的是代码分离,保留前面那种方法估计是为了和以前的asp保持兼容。实际上asp。net很少有人把服务端代码和页面代码写到一起。
  • 打赏
  • 举报
回复
从编译命令 csc.exe 所标记的dll的输出路径,你可以看到dll文件到底输出到哪里。 从编译源,你可以看到aspx到底是如何继承code-behind代码中的class的,以及如何根据各个asp.net控件而生成代码的。看懂系统的代码,才是专业开发人员。有些人说“走个纯业余人员已经很不错了,我干嘛要多问一个‘为什么’呢?”,这就是asp.net有点“伤不起”的地方(惯坏了一些人)。
  • 打赏
  • 举报
回复
引用 8 楼 qldsrx 的回复:
都会产生DLL文件的,即使写在aspx里面也是的,在首次加载的时候,会自动编译到dll文件,只不过那个dll文件不是在你的网站目录,而是在系统目录下面,你可以从网站的错误信息找出那个路径。 另外在WIN7的IIS配置中,你可以找到一项叫“.NET编译”的选项,这更加说明了aspx文件在加载的时候要编译一次,产生dll文件。题外话,jsp的网站也是这样的,首次访问编译或有……
是这样的! 你可以修改code-behind文件中的代码,也是可以直接执行的,无需编译(自动编译)。(除非你不是使用网站的web site工程,而是web application工程) 想知道aspx文件编译到哪里,以及想看看源代码,你可以在文件开头第二行以后写
<script runat="server">

啊手动阀沙发沙发

</script>
这种乱码,然后直接点击鼠标右键,选择“在浏览器上查看”。这时候,asp.net会运行代码生成器将aspx生成源代码并编译成为dll。随后,你可以看到asp.net给出的信息页面,页面上有两个链接: 1. 显示详细的编译器输出 2. 显示完整的编译源 这可以作为研究asp.net机制的一个工具。你可以由此懂得aspx页面到底是怎么回事。
qldsrx 2013-01-14
  • 打赏
  • 举报
回复
都会产生DLL文件的,即使写在aspx里面也是的,在首次加载的时候,会自动编译到dll文件,只不过那个dll文件不是在你的网站目录,而是在系统目录下面,你可以从网站的错误信息找出那个路径。 另外在WIN7的IIS配置中,你可以找到一项叫“.NET编译”的选项,这更加说明了aspx文件在加载的时候要编译一次,产生dll文件。题外话,jsp的网站也是这样的,首次访问编译或有改动的时候自动编译。
luobing261314 2013-01-14
  • 打赏
  • 举报
回复
 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把界面设计代码和程序设计代码以不同的文件分开,对于代码的重复使用,程序的调试和维护都是革命性的。还有一点是,当你发布你的网站的时候,你就可以利用这种技术来有效的保护你的代码。这对于程序的安全性是一个提高。
hard_learner 2013-01-14
  • 打赏
  • 举报
回复
通用的做法还是放到后台写
year365 2013-01-14
  • 打赏
  • 举报
回复
1.有不同 ,页面生成类不一样 不过对你来说 没啥不同 2.效率没区别 只是工程性不同 3.我是来接分滴
二当家 2013-01-14
  • 打赏
  • 举报
回复
引用 3 楼 bdmh 的回复:
这些代码也可以写到cs文件中,不会生成dll,这是aspx页面的服务端代码
写到CS文件里 就会生成DLL了呀
bdmh 2013-01-14
  • 打赏
  • 举报
回复
这些代码也可以写到cs文件中,不会生成dll,这是aspx页面的服务端代码
gzw13999 2013-01-14
  • 打赏
  • 举报
回复
DLL 效率高。 aspx不推荐,对于简单的页面凑合可以。 如果过于复杂代码也一大堆 自己维护也不方便。
一一一一 2013-01-14
  • 打赏
  • 举报
回复
 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把界面设计代码和程序设计代码以不同的文件分开,对于代码的重复使用,程序的调试和维护都是革命性的。还有一点是,当你发布你的网站的时候,你就可以利用这种技术来有效的保护你的代码。这对于程序的安全性是一个提高。

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧