1.经过试验,textbox1的enableviewstate 设置成false,但是服务器还能获取到textbox的值,为什么?
这种行为的原因是,ViewState 是不负责存储诸如 TextBoxes, dropdowns, CheckBoxList 等这些继承自IPostBackDataHandler 接口的控件的更改了的值的。继承自 IPostBackDataHandler 接口的控件将保持它们的值,即使它们的 ViewState 状态被关闭,因为它们的值被保存在 HTTP 提交头里。
http://blog.csdn.net/cxzhq2002/article/details/6185485
2. aspx页面生命周期19个事件中,页面初始化为什么要先控件再页面?
建造一个大的对象,我们先把小的部件准备好,层层递归,拿到最下面的不可分的一层是基础部件,层层返回,得到一个更大的部件。
3. aspx页面生命周期19个事件中,页面加载为什么要先页面再控件?
页面加载前,页面的小元素已经准备好,这个过程就变得像winform里容器上面拖控件一个道理,先准备好容器再展示控件。
4. .net运行时 CLR是类似与JAVA中的JIT(即时编译器)吗?他们都可以跨平台,为什么提起跨平台大家只想到JAVA?
前面这个说法是错误的。CLR是对应JAVA中的虚拟机JVM。
第一点,要知道.net 平台和 java 平台都有托管代码的概念,托管代码不是托管源代码,前者是托管IL语言,后者是托管字节代码,这些都是低级语言,有自体系里面通用的语法(使用数字代码而不是文本代码)。
第二点,CLR有三种功能:1.编译成中间语言;2.编译成本机语言;3.托管执行的代码。
第三点,.NET 平台要比JAVA平台性能好,IL语言总是即时编译的(称为JIT编译),而Java字节代码常常是解释性的,Java的一个缺点是,在运行应用程序时,把Java字节代码转换为内部可执行代码的过程会导致性能的损失(但在最近,Java在某些平台上也能进行JIT编译)。
第四点,.NET 性能好,市场却选择了JAVA,因为在未来开源(免费)是主流,这又是一股浪潮,现在我们看到的的Linux和安卓大行其道,微软也渐渐放低姿态,开源的项目、产品也越来越多。对初学编程的人来说.NET平台更加友好,对于有多年编程功底的优秀程序师,两者语言上的语法差异不值得一提。
扯淡:微软手机系统失败只是暂时的,微软手机操作系统WinCE比安卓早了10多年,因为放不下架子,不开源不免费,我们看到微软WP系统死了,但是微软从未公开说过放弃手机业务。希望在不久将来微软给我们带来惊喜,更好用的产品。