MVC基础(很基础很基础~~~)
最近工作比较不忙,准备学习一些东西,作为一个菜鸟,不断学习新东西(我不会的东西)充实自己真的很重要,所以整理一下基础的mvc知识,以备不时之需。呵呵~~
首先感谢原文作者:QLeelulu的文章http://QLeelulu.cnblogs.com/。下面进入正题
一、什么是MVC模式
MVC(Model-View-Controller,模型—视图—控制器模式)用于表示一种软件架构模式。它把软件系统分为三个基本部分:模型(Model),视图(View)和控制器(Controller)。那么MVC模式和我们熟悉的WebForm模式有什么不同呢?他的各个部分又是怎样分工的呢?
webForm
一个URL请求的是在服务器与该URL对应路径上的物理文件(ASPX文件或其他),然后由该文件来处理这个请求并返回结果给客户端。
MVC模式
在MVC中,客户端的所请求的URL是被映射到相应的Controller去,然后由Controller来处理业务逻辑,或许要从Model中取数据,然后再由Controller选择合适的View返回给客户端。
二、创建MVC项目
vs2010默认是asp.net MVC项目模板,需要下载ASP.NET MVC的安装程序http://www.microsoft.com/downloads/details.aspx?FamilyId=A24D1E00-CD35-4F66-BAA0-2362BDDE0766&displaylang=en,开始新建项目,这里我选的mvc3,至于mvc2和mvc3有什么区别,希望知道的大神能给予答案

然后我们运行一下项目看看:
![]()
三、认识项目
默认的情况下,项目的目录结构如下:
![]()
- App_Data :这个目录跟我们一般的ASP.NET website是一样的,用于存放数据。
- Content :这个目录是建议用来存放一下资源文件的。例如CSS、JS、图片等等。当然你不愿意的话,完全可以不放到这里来。
- Controllers :这个目录是建议将Controller类都放到这里来,方便管理。Controller类的命名必须以Controller结尾,例如一个名为Home的Controller则要命名为HomeController。
- Models :这个目录是建议用来存放你的业务实体、数据访问层代码的类的。当然,更好的做法我觉得应该是将Models独立为一个类库。
- Views :在默认情况下,所有的view文件都必须放到这个目录下来,每一个Controller对应一个子目录,而且子目录的命名必须以Controller的命名一样。例如,HomeController的view就应该放到Home子目录中。我们见到Views目录下还有一个Shared的子目录,这个子目录是用于存放一些共享的view的,例如Error.aspx和Site.Master。Controller在Views\ControllerNmae 中找不到指定的view的时候,会到Shared中去寻找。
下面我们来看一下ASP.NET MVC比较核心的DLL,见下图红框部分:
![]()
System.Web.Routing :URL路由。将一个URL路由到对应的Controller上靠的就是这个。是在HttpModule里面处理的。
System.Web.Extensions :这个是ASP.NET AJAX的。
System.Web.Mvc: ASP.NET MVC最主要的程序集。在CodePlex上放出源代码的就是这个DLL。
System.Web.Abstractions :这个程序集是一些相关的基类来的。例如HttpContextBase、HttpRequestBase 等等。
Microsoft.Web.Mvc :这个程序集只要放一些MVC的特性与扩展的方法。在ASP.NET MVC beta版中,这个DLL已经被移除,但是如果你需要用到这个DLL的功能,可以到这里下载并引入就可以了。
我们完全可以在VS10中建一个一般的WebAppliction,然后引入这几个DLL,再配置一下web.config文件,那么就可以成为一个ASP.NET MVC的Application了。
MVC基础(很基础很基础~~~)的更多相关文章
- ASP.NET Core MVC 设计模式 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core MVC 设计模式 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core MVC 设计模式 上一章节中,我们提到 ASP.NET Co ...
- 转:ORACLEERP开发基础之EBS开发基础
转自:http://blog.itpub.net/8781091/viewspace-1012244/ [内容导航] 第1页:开发工具安装 第2页:增加数据块 第3页:注册表单FORM 第4页:注册请 ...
- 20165101 学习基础和C语言基础调查
学习基础和C语言基础调查 技能学习心得 看了15级学长学姐丰富的技能之后,我感到很惭愧.我的课外技能可以说是很糟糕.唱歌的话,小时候还可以用假声唱一下,变声之后就是高音上不去,低音下不来.体育更是差劲 ...
- 快速学习C语言三: 开发环境, VIM配置, TCP基础,Linux开发基础,Socket开发基础
上次学了一些C开发相关的工具,这次再配置一下VIM,让开发过程更爽一些. 另外再学一些linux下网络开发的基础,好多人学C也是为了做网络开发. 开发环境 首先得有个Linux环境,有时候家里机器是W ...
- 基础拾掇之——http基础
基础拾掇之——http基础 http协议介绍 http:Hyper Text Transfer Protocol 超文本传输协议,是互联网应用最为广泛的一种网络协议,主要用于Web服务.通过计算机处理 ...
- 20165206学习基础和C语言基础调查
- 技能 我的一项可以拿的出手的技能是萨克斯.但不敢说有多厉害,更不敢说比大多数人更好,只能说是还可以.我学萨克斯有5年左右的时间吧,这5年里印象最深刻的还是前两年.前两年主要是基础训练.我从最基础的 ...
- 20165318 预备作业二 学习基础和C语言基础调查
20165318 学习基础和C语言基础调查 技能学习经验 我们这一代人,或多或少的都上过各种兴趣班,舞蹈钢琴画画书法,我也是如此.可这些技能中,唯一能拿的出手的就是舞蹈了.按照<优秀的教学方法- ...
- 20165230 学习基础和C语言基础调查
20165230 学习基础和C语言基础调查 技能学习经验 我擅长弹钢琴.小时候我曾上过很多兴趣班,比如钢琴.跳舞.书法.绘画等等,唯一坚持至今的只有钢琴.仔细一算学习钢琴至今已有12年,不能说已经精通 ...
- 20165232 学习基础和c语言基础调查
做中学读后感 学习是要思考的,仅仅实践是不够的: 不光会动手,还要理解背后的原理 不光会用工具,还要理解支撑的理论 技能是分层次的: 一项技能的掌握程度分为:新手/高级初学者/合格者/精通/专家 对技 ...
- 20165237 学习基础和C语言基础调查
学习基础和C语言基础调查 一.技能学习与特长 你有什么技能比大多人(超过90%以上)更好? 我的爱好和技能说实话挺广泛的.如果要挑出来一个很擅长的话,我觉得应该是钢琴. 针对这个技能的获取你有什么成功 ...
随机推荐
- StringUtils 字符串工具类
package com.thinkgem.jeesite.common.utils; import java.io.File; import java.io.IOException; import j ...
- arm_cm4.c关于kinetis的修改
/***********************************************************************/ /* * Initialize the NVIC t ...
- Firefox插件一键切换兼容IE
转载:http://mozilla.com.cn/thread-42137-1-1.html 让火狐兼容IE的双核扩展,一键切换至IE内核,网银支付无忧愁.支持Adblock plus和FireGes ...
- AVR 定点数运算程序设计及数制转换
AVR 单片机有加法和减法指令,可以直接调用相关指令来达到目的. 这里列出了16位加法.16位带立即数加法. 16位减法.16位带立即数减法. 16位比较.16位带立即数比较程序和16位取补程序. a ...
- 广州项目实施步骤III_练习使用Keepalive保证HaProxy的高可用性
CentOS6.4 配置HAProxy+Keepalived 安装HAProxy请参考 http://www.cnblogs.com/kgdxpr/p/3272861.html 安装Keepali ...
- JLayer初体验。。
Java最近推出的JLayer虽然和sharped window or translucent window一起有位JavaFX的开发做准备之嫌,但是试了一下还是感觉不错滴.. JLayer 和 gl ...
- Java中怎样由枚举常量的ordinal值获得枚举常量对象
Java1.5提供了关键字enum,能够通过该关键字方便得定义自己须要的枚举类型,比方 enum Season { SPRING, SUMMER, AUTUMN, WINTER } 就定义了一个季节枚 ...
- Oracle DB 管理数据库的空间
• 描述4 KB 扇区磁盘的概念及使用 • 使用可移动表空间 • 描述可移动表空间的概念 数据库存储 数据库存储 数据库包括物理结构和逻辑结构.由于物理结构和逻辑结构是分开的,因此管理数据的物 理存储 ...
- direction:rtl demo
<style> body {font:14px/18px Consolas;} div { width:100px;padding:10px; margin:10px 0px 30px 0 ...
- Linux合并文件、去除重复行的命令
Linux合并文件命令: awk '{printf("%s\n",$0)}' YQ-*101?.txt > 123.txt linux去除重复行命令:cat YQ-10 ...