一步步学习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资料,太心疼,到现在心情还不是很爽 ...
随机推荐
- python列表删除重复元素的三种方法
给定一个列表,要求删除列表中重复元素. listA = ['python','语','言','是','一','门','动','态','语','言'] 方法1,对列表调用排序,从末尾依次比较相邻两个元素 ...
- Maven项目中如何添加日志
- VB.NET中使用代表对方法异步调用
按照我们常规的思维方式,计算机应该是干完一件事,然后再干下一件.用术语来说,这种执行任务的方式叫做同步执行(Synchronous Execution).既然这样,那么为什么要引入异步执行的概念呢? ...
- ListView滑动不爽,滚动一页得滑几次?该用分页列表啦!
ListView等滚动位置经常不符合用户期望: 很多时候都是看完一页想滑到下一页,但滑动一次距离往往不是不够就是超过,很难控制. PagedListView工程中提供了PageScroller来解决这 ...
- Android_Toast
xml文件: main1: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" ...
- fedora 23中配置tftp-server
fedora 23中配置tftp-server */--> fedora 23中配置tftp-server Table of Contents 1. 简介 2. tftp安装 3. 启动和允许 ...
- VIM 选择多行,复制粘贴
进入VIM,比如编辑一个文件, 1.进行选择,是V模式,按V键,进入该模式,然后选择要复制的行 2. 选择好之后,再按y键,即使复制到了 3.然后光标进入要复制的行之后,按一下P键,就粘贴了,oh y ...
- jquery mobile 移动web
轻量级框架jQuery Mobile 所需文件 <link rel="stylesheet" href="jquery.mobile-1.1.2/jquery.mo ...
- C#中的事件-订阅与发布
我们用一个简单的例子,来说明一下这种消息传递的机制. 有一家三口,妈妈负责做饭,爸爸和孩子负责吃...将这三个人,想象成三个类. 妈妈有一个方法,叫做“做饭”.有一个事件,叫做“开饭”.做完饭后,调用 ...
- sql查询某段时间内的数据
查询半小时内数据的方法 1.select * from 表名 where datediff(minute,createtime,getdate())<30 2.select * from 表名 ...