服务器控件,能免则免,大家都这么说。
比方说绑定数据的时候,如果还想ASP那样在数据访问层就使用HTML,而不用数据绑定控件,我想这样就失去了逻辑和表现分离的“理想;
比方说数据验证上,如果自己写JS客户端验证数据完整性和安全性,可能得写一大堆,而这些JS代码却还不能拦截非法数据到达服务器端,如果使用了服务器验证控件,稍一设置就可自动生成客户端和服务器端验证;
比如说文本框Text,即使客户端的readonly设置为true,可也不能阻挡“非法”用户提交“非法”数据到服务器端,而服务器控件Text的readonly设置为true时,客户端的任何改变都不会影响到他的值(.NET 2.0++)。
使用服务器控件时方便了、快捷、安全了,可性能是降低了,可为了追求性能,又不得不去写很多码码。
当使用了服务器控件的时候,你会发现你的页面是那样的臃肿,ViewState、各种样式的JS函数乱窜于你的网页源文件中,如果只看被浏览器渲染的页面还算个美人痞子,当看到那些码码的时候总觉得她很脏,怎么有点像从青楼出来的呢。
我总是想让源文件变得干净点,可发现那样总是很困难。我一直企盼BBSMAX那样干净 的源文件,让写Web程序的人感觉不出来是在写Web程序,因为创建的很多项目里面根本就没有Web页面,全是逻辑处理,而Web项目里面有的仅仅是一些 HTML模板文件和Config配置文件,一切是那样的分明。就像一台专用服务器,你在电脑里面能够看到的都是模板、配置,你所需的功能都被固化到了硬件 当中了。性能在它诞生之日就已经决定了,“外面”的美丽完全是与性能无关的元素,没必要把他们俩放在同一个位置处理。