日期:2014-05-20  浏览次数:20470 次

过年来讨论一个.NET性能的小问题~顶着有分~
偶感觉,如果把全部控件的属性都在后台的.CS中实现性能会更好些!
请问大家如何看的???否则前台不ASP拉?

------解决方案--------------------
偶感觉,如果把全部控件的属性都在后台的.CS中实现性能会更好些!
请问大家如何看的???否则前台不ASP拉?
-------------------------

你这样理解是因为对asp.net的运行机制还不了解。
(1)你看一下设计时编写的代码是否与运行时一致,比如在页面上增加一个calendar控件,看一下设计时脚本,运行后在浏览器再“查看源文件”,比较一下代码。
(2).cs中实现,只不过这些属性又重复赋值了一次,除了增加服务器开销外,没有其它作用。
------解决方案--------------------
你可以试一试呀。

用事实验证你的想法。

被人告诉你“不可能”,你就放弃了吗?

用事实验证一切!
------解决方案--------------------
aspx页面编译时生成的代码(类型中)创建实例的时候首先创建控件,设置属性,然后执行从你的.cs中继承的各个方法和事件代码,例如如果你在page_load事件处理程序中给控件再次设置属性。这方面讨论性能,就好像百米跨栏时讨论谁的跑道上多了几根绊脚的稻草对成绩的影响,其实意义不大。
------解决方案--------------------
没有任何理由支持楼主的放在cs文件中性能会更好的说法。至于有人提出的性能更差的说法也只是理论上的,一般的想法。事实上几乎所有的系统,性能瓶颈都不会在这个地方。

就像跑马拉松,你去研究起跑的时候怎么起跑会好一些,但是马拉松毕竟不是100米,虽然起跑时间也算在总时间里,起跑快个0.1秒吧,却不见得你总的时间就少了0.1秒,研究这个实际意义并不大,把时间花在这个地方并不划算。喜欢写在哪里,一般按你们定义的规范来做,如果没有规范,那就是看你喜欢了,性能问题在这里请忽略。