八、ASP.Net
    ASP.Net是.Net中用来开发动态Web应用程序的技术,ASP.Net主要分ASP.Net WebForm(以后简称WebForm)和ASP.Net MVC两种技术,大部分人说ASP.Net都是指的ASP.Net WebForm,而ASP.Net MVC则是微软最近推出的一门技术,前面已经提到过了ASP.Net MVC并不是用来代替ASP.Net WebForm的,因此不要认为“ASP.Net MVC淘汰了WebForm,学WebForm过时了”,对于初学者来说还是先学习WebForm,等WebForm掌握的比较好以后根据自己的情况学习ASP.Net MVC,现在很多公司招聘的时候都提出了“掌握ASP.Net MVC优先考虑”。下面我们还是主要来谈WebForm的学习。

很多人被那些“短平快”ASP.Net的书误导了,开始学习就从Button控件、TextBox控件、Repeater控件、GridView控件开始学习,为庞大的ASP.Net体系所折服,看着千八百页的书感叹“晕呢,这么多控件、什么多方法、这么多属性哪辈子学完呀”。当然也有人会拖几个控件以后就自诩“精通ASP.Net”,“拖控件、设属性、写事件”靠此三招走天下,但是一旦遇到稍微复杂一点问题就懵了。

WebForm是微软的一个伟大的创造,能够将复杂的Web开发进行了屏蔽,能够让我们进行傻瓜化的开发,但是微软再怎么封装也不可能让我们一直“快乐的傻下去”,不了解Http、不了解“请求—处理—响应”的模型、不了解ASP.Net的内部原理,那么遇到一些稍微复杂一点的问题的话就会感觉很茫然。一旦了解了Http、 ASP.Net的原理以后再去学ASP.Net你就能知道那些控件到底帮我们做了什么,这样就可以轻松的掌握那些控件,不是成为控件的奴隶,而是成为控件的主人,让控件为我们所用。正是基于这样的原则,我在传智播客.net班讲ASP.Net基础的时候,我没有立即讲解那些控件怎么用,而是使用了4天的时间来讲Http协议、Web开发基本原则、“请求—处理—响应”模型、基于HttpHandler开发Web应用、ViewState原理、IsPostBack原理、XSS漏洞等基础的东西,前4天的内容是难度非常高的东西,一旦把这4天的内容掌握了,后面用几天时间学员们就能掌握ASP.Net的基础的东西,而且掌握的非常深入、牢固,如果对这个感兴趣可以参考我的【传智播客.Net视频】ASP.Net上中下三季内容。

特别是以后会在ASP.Net开发中占有一席之地的ASP.Net MVC更是摒弃了ASP.Net WebForm中复杂的事件驱动、属性等非Web本源的东西,ASP.Net MVC回归了Web开发的本质,把Web开发重新用“请求→处理→响应”这样一个最简单的模型进行描述,其实是比ASP.Net WebForm更简单,但是如果只会用ASP.net WebForm进行拖控件开发,那么如果需要用到ASP.Net MVC就会非常不适应。

学习WebForm的时候一定要先掌握不使用WebForm进行Web开发的技术,因为有的项目中如果完全使用WebForm中的服务端进行开发就会有性能等问题,因此这些项目中会不允许使用服务端控件或者不允许使用服务端控件的某些特性。服务端控件必须学,因为很多功能点中用服务端控件会“多快好省”,但是不要离了服务端控件就活不了。

WebForm中并不是所有控件都是常用的,初学者的目的是用最短的时间学最有用的内容。工具箱中“标准”中常用的控件如下:Label、Button、LinkButton、ImageButton、HyperLink、DropDownList、ListBox、CheckBox、RadioButton、Literal、FileUpload。很多书上讲WebForm的时候讲把大量的篇幅放到GridView、DataList、DetailsView、Repeater、ListView等这些数据绑定控件上,其实这些控件大同小异,只要掌握了一个控件另外一个控件很容易掌握,推荐大家学习ListView和Repeater就够了。

上面我谈了学习.Net Web开发的的八步,这八步看似漫长,其实如果能把所有精力投入上面的话大约两个月就能学下来。当然学完了这些只是掌握了.Net开发的基础知识,还需要在项目开发中将这些基础知识进一步综合应用。

.Net应该学什么怎么学(四)的更多相关文章

  1. .Net应该学什么怎么学(二)

    更新时间:2012年06月05日18时23分 来源:传智播客.Net 接上篇<[我来解惑].Net应该学什么怎么学(一)>. 二.C#面向对象基础 初学者学面向对象的时候没必要(也做不到) ...

  2. python入门灵魂5问--python学习路线,python教程,python学哪些,python怎么学,python学到什么程度

    一.python入门简介 对于刚接触python编程或者想学习python自动化的人来说,基本都会有以下python入门灵魂5问--python学习路线,python教程,python学哪些,pyth ...

  3. .Net应该学什么怎么学(三)

    更新时间:2012年06月05日18时26分 来源:传智播客.Net 接上篇[我来解惑].Net应该学什么怎么学(二)七.HTML.JavaScript.Dom        HTML是对网页长什么样 ...

  4. 菜鸟学Java(十四)——Java反射机制(一)

    说到反射,相信有过编程经验的人都不会陌生.反射机制让Java变得更加的灵活.反射机制在Java的众多特性中是非常重要的一个.下面就让我们一点一点了解它是怎么一回事. 什么是反射 在运行状态中,对于任意 ...

  5. 一起来学Spring Cloud | 第四章:服务消费者 ( Feign )

    上一章节,讲解了SpringCloud如何通过RestTemplate+Ribbon去负载均衡消费服务,本章主要讲述如何通过Feign去消费服务. 一.Feign 简介: Feign是一个便利的res ...

  6. 跟我学SpringCloud | 第十四篇:Spring Cloud Gateway高级应用

    SpringCloud系列教程 | 第十四篇:Spring Cloud Gateway高级应用 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 ...

  7. .net基础学java系列(四)Console实操

    上一篇文章 .net基础学java系列(三)徘徊反思 本章节没啥营养,请绕路! 看视频,不实操,对于上了年龄的人来说,是记不住的!我已经看了几遍IDEA的教学视频: https://edu.51cto ...

  8. 每天学点SpringCloud(四):Feign的使用及自定义配置

    Feign:SpringCloud的官网对它的定义是这样的: 是一个声明式的Web服务客户端.它支持Feign本身的注解.JAX-RS注解以及SpringMVC的注解.Spring Cloud集成Ri ...

  9. 菜鸟学SSH(十四)——Spring容器AOP的实现原理——动态代理

    之前写了一篇关于IOC的博客——<Spring容器IOC解析及简单实现>,今天再来聊聊AOP.大家都知道Spring的两大特性是IOC和AOP,换句话说,容器的两大特性就是IOC和AOP. ...

随机推荐

  1. HTTP所承载的货物(图像、文本、软件等)要满足的条件

    HTTP所承载的货物(图像.文本.软件等)要满足的条件: •可以被正确识别 通过Content-Type 首部说明媒体格式,Content-Language 说明语言,以便浏览器和其他客户端能正确处理 ...

  2. 17、JAVA流程控制

    一.IF 1.第一种形式:if if(逻辑表达式){ 语句1; 语句2; ... } 当if中只有一条语句时,可以省略{} 2.第二种形式:if-else if(逻辑表达式){ 语句块1: } els ...

  3. MySQL中分组取第一条, 以及删除多余的重复记录

    检查重复记录 -- 检查重复code1 select count(identity) num, identity from event_log where code='code1' order by ...

  4. 蚂蚁金服互联网IT运维体系实践

    摘要: 本文来自蚂蚁金服首席技术架构师,基础技术部负责人胡喜.从2010年支撑双十一最高交易峰值2万笔/分钟到2015年双十一的8.59万笔/秒,蚂蚁金服的技术架构和运维体系一直都在不断摸索和实践.本 ...

  5. HDUOJ----4004The Frog's Games(二分+简单贪心)

    The Frog's Games Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65768/65768 K (Java/Others) ...

  6. HDUOJ-----1098 Ignatius's puzzle

    Ignatius's puzzle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others ...

  7. 给定随机数列求第k大的数字

    原来STL我还是有很多不知道的地方 STL 采用的算法是: 当数组长度 <= 3时, 采用插入排序. 当长度 > 3时, 采用快排 Partition 的思想,也就是说类似快速排序(这里不 ...

  8. 【LeetCode】145. Binary Tree Postorder Traversal (3 solutions)

    Binary Tree Postorder Traversal Given a binary tree, return the postorder traversal of its nodes' va ...

  9. 【LeetCode】53. Maximum Subarray (2 solutions)

    Maximum Subarray Find the contiguous subarray within an array (containing at least one number) which ...

  10. VMware workstation 与 VMware GSX Server 的区别

    http://xsagaplus.iteye.com/blog/358917VMware是提供一套虚拟机解决方案的软件,主要产品分为如下三个. VMware-ESX-Server  这个版本并不需要操 ...