用Web Form开发网站真的很头疼,先不说什么业务逻辑与显示逻辑粘度过高,也不说单元测试很难进行,其它一些细节末节的问题也是让人头疼一回又一回。
服务器端控件,生成到客户端一堆堆的、你不研究可能有点蒙的代码。搞个控件,到客户端你想用js脚本操作一下子,才发现你定的元素ID在客户是不能用的,必须用ClientID去访问,master页面和ascx文件是一个毛病。明明就是POST一个东西,你非要搞个不伦不类的事件,好嘛,一个普通服务端按钮到客户端全变成了类型为submit的按钮。也就是说你要点这个按钮,就是要和服务器交互的。还有那个你不设置就会生成把鼠标都拉坏了还拉不到底的VIEWSTATE。当然了还有很多其它的问题,怪不得连微软自己人都说Web Form是个骗局。Web Form应该是为那些诸如青鸟之类的快速培训机构准备的,简单的一培训就能上手开发表面上说得过去的程序,如果Web Form让一些初学者认为“做程序不过如此”,那么微软的确“害了一大批程序员”。还好现在微软搞了一个MVC能让做程序的人不再觉得做程序就是拖拖拽拽(拖拖拽拽不是不好,可能是现在还不够好吧。),终于可以有更多空间让做.net的程序员去发挥了,不再依靠一些看起来很美的服务器端控件。
如果Web Form是小学,.net MVC是中学,那么大学就是靠自己的努力了,.net虽然入门简单,但想做一个非常优秀的.net程序,并不是一件容易事。