先声明一下,这篇文章只是我在毕业到现在(短短几个月)对Asp.net WebForm开发中遇到的小问题进行的简单介绍,也许对初学者有一定的帮助,不对的地方还请大家多多指教。
先说刚一进公司,公司算是比较新起的,是刚从页面制作转向程序开发的,所以我就承担了主要的程序开发部分。
遇到的第一个问题就是用什么方式开发,普通的“一层”开发,直接在页面写逻辑及数据库操作,还是用三层架构,还是要再进行运用工厂模式,由于经验不足,我也不好做出更好的选择,最终还是选择了三层+工厂,现在想想当时真是疯了,由于当时那个项目需求只是暂时的,还要进行很大的改动,所以后来无论是添加功能还是进行修改,都变得超级麻烦,虽然我是用动软的代码生成项目,可实现起来还是太让人头晕眼花的,当时快做完项目时就想,以后再也不用了。。
遇到的很头疼的方面必然是技术上了,说明下,我是在某培训机构学的Asp.net,当时自以为学的还不错,到了公司就不对劲了,对于完全的DIV+CSS样式布局自己掌握的甚少,开始的时候自己还欣然的托着Lable,托着GridView等等来进行操作,还把美工做好的input删掉。。当时看到生成的样式效果非常郁闷,不断的找原因,找方法去解决,才知道VS自带的服务器控件大多数都是生成了默认样式,就算是去掉也要很费劲,更不用说CSS样式了,比如说当年最常用的Lable,很喜欢吧,不过也害了自己,内容生成了span标签,从那以后再也没有托过这家伙,有时可以拿Literal来替换,它不会生成任何的多余样式代码,还有就是超漂亮的GridView,可以说不对做很大的工作就可以实现非常强大的功能,但是这东西生成的是table样式,在前台样式显示来讲可以说跟CSS说BYEBYE了,取而代之的就是Repeater最为常用。
可以说viewstate和postback是WebForm的特色,有它们网站开发变的简单了许多,页面状态能更好的进行管理,当经理问我HTML里面那一串串东西是什么。。我还笑着说那是页面状态,当他又问我是必须的吗。。我停顿了,回去后自己找资料,做尝试,才发现,并非自己所想的那样,后来才发现这些东西可以去掉的,退一步说是可以缩小到最小的,反正我没有把整个站点的viewstate关闭过,即便是页面级的我也很少用,用的只是把不必要的服务器控件的状态关闭掉,postback给我带来的第一次返面影响就是二次提交,弄的自己好头疼,这个解决方法可以在网上找下,有些是重写了页面基类,还有用SESSION进行判断,总之这些问题是可以解决的。
刚开始进公司,和美工的配合并不是很好,当时也不用版本控制,开发的速度比较慢,不过最好还是和美工多交流下,起码简单的样式操作应该能胜任才可以。
近期又学习了asp.net mvc框架,从中学到了很多知识,对于开发WebForm的程序来说有很大帮助,特别是对于view的操作,更好的避开了服务器控件,感觉比以前做开发少了许多东西,不必费劲的去学习gridview那些事件(例子,有时gridview还是让人用的很爽),只是在操作页面显示逻辑而已,对于整个程序在脑袋中的思路更加清晰。
其中对于数据访问类来说,开始是自己手写的,还算比较好用,不过对于数据库的关闭操作不太好,还有参数处理及缓存搞不明白,后来就是拿petshop的dbHelp来用,至今还是很喜欢这个,虽然参数挺多,但还算方便~ 再加上动软生成的几个数据操作类,对于现在我的开发来说完全可以搞定了,还有就是微软企业库。。我自己没大用过,不过好像还算可以,大同小意罢了,后来就接触到LINQ,对于数据库操作LINQ TO SQL来说,感觉变的很easy,面向对象的操作,对于一些逻辑实现来说显得简单易懂了,不过还是先学SQL为好,呵呵
先说这些~希望对大家(初学者)有那么一点点帮助,呵呵。