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

minhua1983 2014-01-23 05:45:14
本人大专学历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现在是不是比较难找了?
...全文
1855 57 打赏 收藏 转发到动态 举报
写回复
用AI写文章
57 条回复
切换为时间正序
请发表友善的回复…
发表回复
eesprite 2014-02-26
  • 打赏
  • 举报
回复
webform的优势在于updatepanel和各种后台控件,其它的都不是优势,而updatepanel是个很可怕的东西,看似简单其实会把事情搞的很复杂,如果你用的是自己写ajax的方式,MVC很容易而且更适合你。
sysyhn 2014-02-05
  • 打赏
  • 举报
回复
引用 6 楼 wangyuping_2007 的回复:
楼主很厉害哦。都拿到上万了。。我08毕业的,还差的远了。继续努力
都5年了还没有一万,除非你工作城市不是很发达
emailtome 2014-02-03
  • 打赏
  • 举报
回复
ASP.NET MVC + TDD and DDD 才有意义但并不容易哦
Vict0r Chen 2014-02-02
  • 打赏
  • 举报
回复
引用 58 楼 sp1234 的回复:
大多数制造漂亮数字、晒收入的人可能有三个心里: 1. 为跳槽时到别的公司忽悠时创造“打鸡血”一样的“自信心”。 2. 为了让自己身边的同学、同事搞不清楚自己的状况。 3. 为了让自己身边技术更好的同学、同事丧失信心,好给自己滥竽充数提供更“好”的土壤。 在csdn我们就客观地交流软件技术就好了,以免被人误会为上述三种之一。
我就感觉我被一个正在工作的同学搞得没自信心了,他貌似总比我强那么一点,如何超过他?
  • 打赏
  • 举报
回复
大多数制造漂亮数字、晒收入的人可能有三个心里: 1. 为跳槽时到别的公司忽悠时创造“打鸡血”一样的“自信心”。 2. 为了让自己身边的同学、同事搞不清楚自己的状况。 3. 为了让自己身边技术更好的同学、同事丧失信心,好给自己滥竽充数提供更“好”的土壤。 在csdn我们就客观地交流软件技术就好了,以免被人误会为上述三种之一。
  • 打赏
  • 举报
回复
asp.net webform对于我来说感觉就好像是“龙泉宝剑”,而asp.net mvc就好像是运动员表演用的假剑。如果你想研究asp.net的传统、那个时代的伟大设计创意,可以好好研究一下asp.net。 但是它早已经是一种“表演道具”而不够实用了。
  • 打赏
  • 举报
回复
关于你说的那些没有进行产品应用的东西我不做评论,给你介绍一下我对asp.net程序员的“转换平台”的需求: 我们使用Saltarelle,并且在这个上面使用Linq、Knockout、JQuery、JQueryUI、cordova等。使用Saltarelle是因为它支持直接复用Attribute、yield return等等c#程序中的大部分优秀代码,绝非一般javascript初学者能写出来的。
mr_zhou96 2014-01-31
  • 打赏
  • 举报
回复
有没有入门的帖子,我也想系统学一下
u013581153 2014-01-30
  • 打赏
  • 举报
回复
偷偷告诉你,什么MVC都是基于web窗体的,asp学的好了,MVC也一样简单明了了
woodyy 2014-01-29
  • 打赏
  • 举报
回复
你需要熟悉mvc,趋势。
leoleo4 2014-01-29
  • 打赏
  • 举报
回复
MVC 是基于 ASP.NET。 和web form有共同点。只要有基础稍加学习就可以。LZ不用担心。
黑手党维多 2014-01-28
  • 打赏
  • 举报
回复
引用 48 楼 likevs 的回复:
楼主,我也一样,都是玩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
表示对我有用,这个页就由我来翻吧
yyl8781697 2014-01-28
  • 打赏
  • 举报
回复
准备翻页,个人觉得存在即合理 我也比较喜欢原生的webform,感觉记asp.net的mvc太累,不过去看看了解下还是比较有用的,说不定以后哪天使用使用aspnetmvc来做开发
7年 2014-01-28
  • 打赏
  • 举报
回复
楼主这话问的也是我想问的,呵呵
likevs 2014-01-28
  • 打赏
  • 举报
回复
楼主,我也一样,都是玩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
rabbit5 2014-01-27
  • 打赏
  • 举报
回复
我06年毕业,前面的工作经历是楼主差不多,区别在于2011换工作的时候选了一个比较大的项目组,大项目组的好处就是有大神级的人物存在,有人带的感觉还是很不错地 楼主有空儿想MVC,说明现在比较清闲了,工作7、8年才发现这个问题确实有点儿晚,不过现在还来得及哦,加油顶一下O(∩_∩)O~
lizh1245 2014-01-26
  • 打赏
  • 举报
回复
对。。重要是学习能力。。楼主webform一定是精通了,webform有他的好处 mvc也有自己的好处。。本人更倾向于mvc吧
加油馒头 2014-01-26
  • 打赏
  • 举报
回复
重要的是学习能力,以及技术的积累
龙宜坡 2014-01-25
  • 打赏
  • 举报
回复
赶脚LZ不是那么自信啊。 相对需求来说任何技术都是浮云。 咱们又不是搞学术研究,咱们的目的是为了赚钱,为了生活,所以,加油吧,骚年。
龙宜坡 2014-01-25
  • 打赏
  • 举报
回复
引用 25 楼 KarasCanvas 的回复:
学到什么都没用,能挣到钱才是正道
+1
加载更多回复(37)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧