一步步学习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资料,太心疼,到现在心情还不是很爽 ...
随机推荐
- Java基础知识强化之IO流笔记64:合并流SequenceInputStream
1. SequenceInputStream合并流的概述: SequenceInputStream类可以将多个输入流串联在一起,合并为一个输入流,因此,该流也被称为合并流. 2. Sequence ...
- JS 笔记
如何定义一个函数呢?基本语法如下: function 函数名() { 函数代码; } 说明: 1. function定义函数的关键字. 2. "函数名"你为函数取的名字. ...
- 一款仿36氪iOS版APP源码
Features 离线缓存 解决视频播放器的网速慢卡顿 视频播放器调用简单 cell自适应高度 cell中嵌套webView cell中嵌套webView 条件实时搜索 Known problems ...
- 我的开发框架(WinForm)4
日志模块 对于一个系统来说,日志模块是必不可少的,它能给后面系统的维护和bug的修复,带来极大的方便..net的日志模块有很多,比较流行的有Log4Net,NLog,还有微软企业库的日志模块,我采用的 ...
- 对比AppScan Source和Fortify扫描AltoroJ的结果
对比AppScan Source和Fortify扫描AltoroJ的结果: http://blog.csdn.net/testing_is_believing/article/details/1963 ...
- mfc简易加法
利用vs2013只做一个只有加法的计算器: 一.新建项目,然后如下图所示,进行选择,并创建. 二.下一步. 三.选择基于对话框,之后直接点完成 四.在整个编译器的最左边找到工具箱,并点击. /** 为 ...
- Struts2的工作流程
Struts2如何实现MVC Struts2的参数封装: Struts2的运行原理图:
- Linux下如何查看哪些端口处于监听状态
查看某一端口的占用情况: lsof -i:端口号 前提:首先你必须知道,端口不是独立存在的,它是依附于进程的.某个进程开启,那么它对应的端口就开启了,进程关闭,则该端口也就关闭了.下次若某个进程再次开 ...
- openvswitch安装和使用 --修订通用教程的一些错误
1.下载openvswitch源文件,注意版本要适合操作系统内核. 推荐openvswitch2.0及其以上版本. 2.开始安装openvswitch cd openvswitch sudo ./bo ...
- Oracle归档已满的处理办法
SqlPlus: / as sysdba select * from V$FLASH_RECOVERY_AREA_USAGE; show parameter log_archive_dest; sho ...