一步步学习ASP.NET MVC3 (1)——基础知识
请注明转载地址:http://www.cnblogs.com/arhat
首先在这里我想声明一下,这个ASP.NET MVC3系列是我在授课过程中的一些经验,有什么不对的地方,请大家指出,我们共同的学习。
以前总是在课堂上讲解一些新技术,由于时间有限不可能全部都讲到位,所以我想在闲暇的时候能够把平时我的开发经验和学习的新知识传授给大家。那么这个Blog就诞生了,本来很早的时候就想把一些东西都写到Blog上,但是由于平时比较忙没有顾上,趁着年前有时间就弥补一下遗憾吧!
可能大家看到Blog上的随笔分类了,以为又是一位给微软拉票的,首先说明一下,用什么技术无所谓,我想我在这里体现的只是一个学习的精神和方法。好了,废话不多说了,开始《一步步学习ASP.NET MVC3》系列吧。
当我们提到MVC的时候,我们总是想起Java,因为在J2EE中大量使用的Struts技术,而这个技术则是以MVC为核心的。那么微软在看到MVC如此轻量级的开发,也开始进入到这个行业了,于是ASP.NET MVC诞生了,随着ASP.NET MVC的发展,从ASP.NET 1.0到ASP.NET 4.0,经历了4个版本,据说ASP.NET 5.0正在测试中,看来ASP.NET MVC发展的速度还是很快的嘛(嘻嘻,很喜欢哦)!
为什么从事B/S结构开发的程序员都喜欢MVC的方式开发呢,我个人认为,MVC之所以被程序员所青睐,是因为MVC是一个非常好的开发模式,提高了开发效率和维护工作。说了这么多废话,那么到底什么是MVC呢?
MVC:是开发时使用的一种“架构(框架)”。而这个框架被划分为了Model(模型),View(视图),Controller(控制器)。而每个部分都有自己功能和职责。
在一开始呢,我不想讲太多的概念,因为概念这个东西不是说看一遍就能懂的,必须通过不断的实验才能彻底的了解这个概念。所以,我想在以后的章节中慢慢的去解释这些概念。那么首先大家需要注意的是,在这个章节中只需要了解一下MVC三者之间的一个运行原理就可以了。
在通常情况下(ASP.NET),一个客户端请求发送到服务器,服务器根据请求找到对应的文件,然后进行解释并把结果输送到客户端。这里大家需要注意红色字体,请求的是文件。

换句话说,我们请求的资源是一个文件(Index.aspx),而这个文件包含了2个部分,一个是视图呈现,一个是逻辑代码。在学习ASP.NET知道,一个aspx页面包含了两个重要组成部门,一个是aspx页面显示,一个是aspx.cs文件逻辑代码。这样就有一个缺点,视图和逻辑代码没有被分开,起到了紧耦合的效果。
而在ASP.NET MVC中,颠覆了这种理念,那么MVC到底是怎么运行的呢?下面我们看一下MVC的运行图。

从图上可以看出,现在的客户端请求是请求的Controller,而不再是aspx文件了,然后Controller根据用户的请求,决定要调用那个View(视图,网页),如果有请求中需要有有数据,则Controller会把请求的数据交给View进行显示。那么请求的Controller到底是什么呢?
Controller:负责控制系统运行的流程,跟浏览器如何交互,决定网页操作的流程和动作,响应客户端的各种操作。可以这样说,Controller就是一个普通的“.cs”文件,这个文件中都是函数,那么客户请求就是Controller中的函数。
View:负责用户界面,包含输入输出。
Model:负责定义信息格式。是数据的载体。
可能说到这里,还是一头雾水。没关系,下节我来配置我们的ASP.NET MVC3来实现一个HelloWorld。
一步步学习ASP.NET MVC3 (1)——基础知识的更多相关文章
- 一步步学习ASP.NET MVC3 章节总结
请注明转载地址:http://www.cnblogs.com/arhat 对于<一步步学习ASP.NET MVC3>系列工15章,那么为了方便大家能够快速的预览,老魏在这里为这个系列提供一 ...
- 一步步学习ASP.NET MVC3 (3)——Razor(1)
请注明转载地址:http://www.cnblogs.com/arhat 首先这个<一步步学习ASP.NET MVC3>前段时间有些忙,没有顾得上写文章,昨天呢写了3个和ASP.NET的相 ...
- 一步步学习ASP.NET MVC3 (12)——FileResult
请注明转载地址:http://www.cnblogs.com/arhat 忙了两天,本来老魏昨天就应该写出新的文章,但是由于昨天雨夹雪而且加上昨天晚上加了班,到家都没饭吃了,一看时间都9点了,什么饭店 ...
- 一步步学习ASP.NET MVC3 (2)——入门程序
请注明转载地址:http://www.cnblogs.com/arhat 在上一节中,我们只是简单的介绍了什么是MVC及MVC的运行原理.而本节呢,主要来实现下一ASP.NET MVC3的开发流程,并 ...
- 一步步学习ASP.NET MVC3 (14)——Route路由
请注明转载地址:http://www.cnblogs.com/arhat 由于今天是星期六,所以多写几篇,感觉前几天的忙碌没有及时发布文章,趁着周末老魏尽力的多写几篇文章.因为本系列基本上快结束了,所 ...
- 一步步学习ASP.NET MVC3 (5)——View从Action中获得数据
请注明转载地址:http://www.cnblogs.com/arhat 在上一章中,我们把Razor的模板技术给大家介绍了一下,当然模板中还有其他的知识点,这个以后我们还会继续讲解.本章我们主要讨论 ...
- 一步步学习ASP.NET MVC3 (6)——@helper,@functions
请注明转载地址:http://www.cnblogs.com/arhat 在前一章中,我们讲述了View如何从Action中获得数据,并显示出来,但随着需求的变化,我们可能要对View中显示的数据作出 ...
- 一步步学习ASP.NET MVC3 (7)——Controller,Action,ActionResult
请注明转载地址:http://www.cnblogs.com/arhat 前面几章我们讲解的都是关于View方面的知识,虽然还有很多关于View的知识没有讲,但是没关系,我们在后面使用到的时候在讲解, ...
- 一步步学习ASP.NET MVC3 (13)——HTML辅助方法
请注明转载地址:http://www.cnblogs.com/arhat 今天老魏是在十分郁闷,我的一个U盘丢了,心疼里面的资料啊,全部是老魏辛辛苦苦积攒的Linux资料,太心疼,到现在心情还不是很爽 ...
随机推荐
- Eclipse 常用快捷键与使用技巧总结
一.实用类快捷键 1 常用熟悉的快捷键 CTRL+C(复制).CTRL+X(剪切).CTRL+Z(撤销).CTRL+F(查找).CTRL+H(搜索文件或字符串).CTRL+/(双斜杠注释).ALT+/ ...
- MySQL之事务隔离级别--转载
转自:http://793404905.blog.51cto.com/6179428/1615550 本文通过实例展示MySQL事务的四种隔离级别. 1 概念阐述 1)Read Uncommitted ...
- 关于javascript的slice方法
slice方法在javascript中既可以在Array对象的原型下也可以是在String对象的原型下;其中w3c上面说的slice方法的第一个参数是必须的;这里的说法有误; slice的参数可以是0 ...
- HashMap、HashSet源代码分析其 Hash 存储机制
集合和引用 就像引用类型的数组一样,当我们把 Java 对象放入数组之时,并不是真正的把 Java 对象放入数组中,只是把对象的引用放入数组中,每个数组元素都是一个引用变量. 实际上,HashSet ...
- Maven(3.0.5) 环境的安装配置
Maven 安装步骤 JDK 安装:在使用 Maven 之前,要确定已经安装了 JDK. huey@huey-K42JE:~$ java -version java version "1.7 ...
- iOS App Transport Security
网络请求提示:Application Transport Security has blocked a cleartext HTTP (http://) resource load since it ...
- OC6_字符串练习
// // QFString.h // OC6_字符串练习 // // Created by zhangxueming on 15/6/10. // Copyright (c) 2015年 zhang ...
- Vue.js中Directive知识
近期所学的Vue.js这个MVVM前端技术缓解了我一直愁于前后端开发杂糅所带来的痛苦.今天就来说说关于Vue.js里面的Directive知识. Directive Directive看上去虽然和An ...
- SQL Constraint/Index
1.SQL Constraint Integrity Constraints are used to apply business rules for the database tables. The ...
- 08_rlCoachKin自主编译,调试
为了知道参数的意思,以及为了从头建立一个项目,我从使用QTCreator来单独建立项目(当然也可以直接使用源代码中建立好的VS项目). 其实也推荐 VS2010调试 如果是用自带的VS项目,那么我们需 ...