用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么

用了WEBFORM快7年了,没用过MVC,我这样算是学偏了么?
本人大专学历2005年毕业,2006年才找到的第一份工作,在第一份工作之前见习了2次。2005年第一次实习800,2006年第二次实习520工资- -。

2006年6月~2007年2月,我第一份工作ASP,税前1500,老板手把手教我,所以学了很多东西,虽然都不深,但是对我很有用,如FSO+模版用生成静态页面,XMLHTTP来获取页面的HTML代码,用正则获取HTML代码中我想要的信息,如何定时生成静态页面,购物车的逻辑,商城的购物的逻辑,等等技术。

2007年1月开始学习c#~2007年4月,web方向,那自然学的ASP.NET WEBFORM,当时记得看“天轰穿”的视频学得,解说蛮风趣的,不像其他视频教程那么死板,学了3,4月就出去找工作了。

2007年5,6月找到第二份工作~2008年1月,公司就我一个人写ASP.NET,税前3000,写ASP.NET网站,完全没人教,都是用以往ASP的编程概念去开发,SQL没用@参数,SQL语句可以被注入- -,完全没面向对象的概念,不过知道了c#中实现XMLHHTP可以WebClient,FSO被IO替代,对页面生命周期完全不了解,一开始不会使用用户控件,之后会了,也只是把用户控件完全只是当作以前的asp中的include来使用。2008年1月还没过年被公司辞退,原因说我比较内向。1年后才知道原来是得罪了我上司,所以被开。

2008年2月痛定思痛补了一下C#面向对象的概念,4月找到了第三份工作~2010年4月,税前4000->4400->?还没等到老板给我加工资我就离开了。还是没人教,工作中知道了原来还有SVN这种代码管理工具,虽然平时公司都不怎么用,就是和其他公司联合开发时才用,公司才我和一个小姑娘2个程序员,那时接触到了HttpModule,HttpHandle,SQL的BCP命令,SQL AGENT设置JOB,使用存储过程,还在网上找了个通用分页存储过程,后来经过自己实践,得出这个通用存储过程由于用EXEC执行拼接的SQL可以被注入的论点,就知道要把1个单引号替换成2个单引号,其他程序已经用@参数了;开始自己写代码生成器,使用GDI++处理图片,开始学习写自定义控件,虽然知道继承接口,用到委托和事件,但是不知道其原理,知道如何手动设置聚集索引,第一次在网页中WebBrowser来对目标网页进行截图。

2010年7月-至今,税前6000->7000->9000->1W以上,还是没人教,那自学呗,开始使用SQL2005的row_number()分页了- -,使用扩展方法,学会使用反射,通过反射可以自动把IList<T>中的T数据用NOPI来自动生成含有T数据记录的EXCEL,从而不用手动设置每个T的属性到NOPI中sheet的每一列。重写了代码生成器,使用WebBrowser自动登录抓取新浪微博某些关键字的所有信息,好好学了学自定义控件的开发,继承CONTROL那种,开发了一个类似Repeater的控件,而不是直接继承Repeater来扩展他。从中知道了ASP.NET的WEBFORM生命周期是多么重要,觉得那些禁用VIEWSTATE的人还不如直接MVC算了,但是还是不怎明白为什么BUTTON被提交后,会执行自动生成BUTTON_CLICK方法。直到之后看了点设计模式,知道了观察者模式的机制,此后委托和事件就迎刃而解了,也就知道了为什么BUTTON被POSTBACK后执行页面的BUTTON_CLICK的方法,如果是用VS2003开始的朋友,可能更容易理解事件,因为在init里面你会看到Button.Click+=new EventHandler(Button_Click),而用VS2005开始就屏蔽了这些细节,我从VS2005开始用的所以一直不理解。

前段时间一直在看“你必须知道的.NET”,我强烈推荐看一下,这本书教了我很多,觉得之前我c#基础实在太差了。知道了值类型和引用类型在内存中是如何分配的,GC是如何执行垃圾回收的,改如何释放非托管资源,为什么string特殊。委托,lambda,匿名方法3者的关系,以及各个framework版本中改如何写委托实例,如:1.1时只能Button.Click+=“方法名”或者Button.Click+=new EventHandler(“方法名”),2.0可以使用匿名方法Button.Click+=delegate(object o,EventArgs eventArgs){//逻辑};3.0后可以Button.Click+=(o,eventArgs)=>{//逻辑}; IEnumerable.Where(o=>o.属性==条件)的原理;这两天在看泛型,以前只知道IList<T> lists=new List<T>();但是让我自己设计一个自定义泛型类,我却无从下手,现在看了下了下泛型,觉得原先很抽象的泛型感念也没那么模糊了,知道了泛型类型,泛型委托,泛型方法,泛型约束,现在可以设计一个自定义的泛型类了。

至于WINFORM方面,自己的经验也就是写写简单的代码生成器,游戏HOOK程序和小脚本,实现了最简单SOCKET公众聊天室,SERVER端部署到远程服务器上后,可以和本地客户端进行通信,这个我蛮开心的,终于会用SOCKET了,虽然很稚嫩,但是很满足了,知道了如何在多线程环境下控制UI线程上的控件,和简单数据同步。唉,这些都没人教,都是自学的,我想大多数.NET程序员都像我这样自学的吧。

.NET方面工作都是基于ASP.NET WEBFORM,开发大点的网站倒是使用免费的cms,没接触过ASP.NET MVC,甚至没用过entity framework,也没用过其他框架,一直使用最原始的webform,我是不是很落伍了?如果出去找工作ASP.NET WEBFORM现在是不是比较难找了?
------解决方案--------------------
其实不算落伍,学无止境了,加油!
------解决方案--------------------
我从06年年底开始到现在跟你差不多时间,一直都是webform。。。。。从来没用过MVC,虽然对MVC有所了解,但没实际真正用它做过项目,现在开发都是BasePage+ajax的方式,拖控件的方式已经被屏弃不用起码3年了,但如果一定要说MVC有多好感觉也没必要,除非是做项目的软件公司,否则互联网公司MVC用的还是非常非常少的

然后问一下LZ是在哪里工作的啊??为啥后面每年都能涨1000啊。。。。
------解决方案--------------------
现在都在转mvvm啊
楼主继续学
------解决方案--------------------
感觉楼主已经比较不错的,但是有个疑问,楼主在这个行业混了7-8年了,还这么没底,虽然我经验不足??,但是没用过mvc就找不到工作??,mvc可以理解为另一种框架,并不是每个公司都用,你看看招聘网站,有的要求会mvc,很多数并没有要求mvc,因为那些公司还在用自己的框架来生产,对于老板来说,能生产产生效益就行了,现在你从网上看招聘,还有很多招asp呢,照例说asp早该淘汰了,照样有用的用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么
------解决方案--------------------
mvc减少了大量没有技术含量的工作。
更容易测试。
------解决方案--------------------
还是多做项目吧,多学习项目框架知识,这个还是比较不错的,其实,我也是尝试看很多博客,自己虽然是初学者,但是也看到很多大牛,即使有了mvc,但是由于知识渊博,所以人家就剖析mvc,学习底层的东西,然后自定义开发,就像自定义开发控件那样,继承之textbox,或者webcontrol等,进行扩展,然后,人家就扩展成一个小型的mvc框架,然后在别的地方直接用这个框架,看的我直流口水,羡慕嫉妒恨,所以,水平高了有了底层的知识什么都不怕,但是看楼主的工资一直挺高的,所以,找一个招高级程序员的公司吧,然后也不一定用mvc,然后利用别的时间再学习mvc用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么
------解决方案--------------------
不是学偏了,而是基础太薄弱,始终不算入门。
------解决方案--------------------
多学点,可以看的更远些。
------解决方案--------------------
学了,但没有用到重点上,多做些比较有实质有意义的工作吧
------解决方案--------------------
楼主跟我一样,我一开始也有点担心。我也是刚出来工作的,数据库用的是MongoDB。SQL不会。毕竟用非关系型数据库的公司还是少数。。
但也同时带来一个好处。。MongoDB没事务这东西,我们都是靠代码去控制,很多东西都这么锻炼出来的,有得有失。。
我觉得现在代码方面的功底算不上硬,但自己觉得进步得很快。。今天写完的代码,过2天去看,我就全部改掉了,而且还在想当初自己怎么那么2B,那么弱。。
而且基础很重要,你问我什么是值类型,什么是引用类型。。我只知道他们在用的时候有什么不同。。什么存在堆上,栈上。。我完全不懂。。但我觉得这些必须要知道。。

1是基本,2是学习的能力,3绝对不允许出现思路不明,乱七八糟的代码(我个人是这样)。。具备这3点的话,我觉得就没什么好担心了,人也没那么迷茫了
------解决方案--------------------
大家消消气吧,没必要为了个问题钻牛角尖吵起来,总之,常用的语法肯定要掌握,不常用的可以在实际用到时选择性的掌握,如果自己的精力像弗利沙大王一样有爆发力,那就全掌握用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么
------解决方案--------------------
我06年毕业,前面的工作经历是楼主差不多,区别在于2011换工作的时候选了一个比较大的项目组,大项目组的好处就是有大神级的人物存在,有人带的感觉还是很不错地用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么

楼主有空儿想MVC,说明现在比较清闲了,工作7、8年才发现这个问题确实有点儿晚,不过现在还来得及哦,加油顶一下O(∩_∩)O~
------解决方案--------------------
用了WEBFORM快7年了,没用过MVC,小弟我这样算是学偏了么
楼主,我也一样,都是玩Web Form过来的,我也是在这几个月才开始学你说的ASP.NET MVC,Entity framework

我的核心基础还停留在.NET 2.0年代,和你差不了多少

现在MVC 4出来了,建议你和我一样,周末有时间就啃上几本书吧,我觉得你没必要抱怨,跟微软混的,学习肯定不能停的。说心里话,我心里也是非常痛苦,因为转MVC感觉好多东西自己就产初学者,不是怕学,而是自己根本没时间在短期内补完这些知识。

不过,据了解,2013版本工具已把Web Form 和MVC整合了,就是说,同一项目,你可以同时使用这两种模式(我是这么理解的)

这种情况下,就有一个好处,对于我们这些从Web Form转向MVC的人来说,是一个非常非常好的

你想一下,比如,现在公司让你弄一个项目吧,行,你自身一下子还不会MVC,但你会Web Form哇,好,那么,你先用Web Form搞,然后抽时间慢慢学MVC,会到哪些就搞上来,等你对MVC有了一定把握了,再放弃Web  Form,全用MVC