之前一直使用asp做开发,ASP相对asp.net来说没没那么智能但是可以让我们了解web开发的本质如HTTP的POST请求GET请求原理,另外如果上传文件需要设置表单的enctype属性等。我认为与其ASP.NET智能不如说他傻瓜。初学ASP.NET的的时候由于微软大力宣传服务器控件的优势所以有一个误区认为在写ASPX页面的时候应该尽量使用服务器控件,如果用了HTML控件反而感觉不专业。但是用了之后发现很不容易控制它的外观,如果要进行DOM操作还需要引用的它的clientId属性远没有直接操作HTML方面另外还会生成一些不必要的代码所感觉很不习惯。
使用服务器控件的好处是可以在在服务端后台代码(*.VB/*.CS)中通过ID调用它,对它进行编程。如果不需要在服务端对它进行编程访问,应该尽量避免使用服务器控件,因为服务器控件最终都会生成HTML标记,在处理服务器控件时需要对它进行编译生成相应的HTML,这样会导增加服务器负荷导致页面的性能降低。所以在可以直接使用HTML标记的情况下,应避免使用服务器控件。服务器控件他只是提供了一种把动态HTML转换为服务器控件的一种方式。这点其实和ASP很像。在ASP中通过模板类也可以实现只是这种工作需要自己去手动编写代码实现。
在使用girdview时会生成很多乱码也就是所谓的viewstate这样一方面占用了大量的网络带宽另一方面也影响HTML的简洁。所以如果不使用的更新删除添加功能仅仅是为了展示数据的话的应该关闭它的viewstate,也可以直接在web.config文件中禁用下面代码演示了在web.config文件中禁用viewstate的方法.
<pages enableViewState="false">
.....
</pages/>