一步步学习ASP.NET MVC3 (1)——基础知识

简介: 一步步学习ASP.NET MVC3

首先在这里我想声明一下,这个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),一个客户端请求发送到服务器,服务器根据请求找到对应的文件,然后进行解释并把结果输送到客户端。这里大家需要注意红色字体,请求的是文件。

1.png

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

而在ASP.NET MVC中,颠覆了这种理念,那么MVC到底是怎么运行的呢?下面我们看一下MVC的运行图。

2.png

从图上可以看出,现在的客户端请求是请求的Controller,而不再是aspx文件了,然后Controller根据用户的请求,决定要调用那个View(视图,网页),如果有请求中需要有有数据,则Controller会把请求的数据交给View进行显示。那么请求的Controller到底是什么呢?

Controller:负责控制系统运行的流程,跟浏览器如何交互,决定网页操作的流程和动作,响应客户端的各种操作。可以这样说,Controller就是一个普通的“.cs”文件,这个文件中都是函数,那么客户请求就是Controller中的函数。

View:负责用户界面,包含输入输出。

Model:负责定义信息格式。是数据的载体。

可能说到这里,还是一头雾水。没关系,下节我来配置我们的ASP.NET MVC3来实现一个HelloWorld。

目录
相关文章
|
3月前
|
开发框架 前端开发 .NET
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
ASP.NET CORE 3.1 MVC“指定的网络名不再可用\企图在不存在的网络连接上进行操作”的问题解决过程
41 0
|
1月前
|
开发框架 前端开发 .NET
进入ASP .net mvc的世界
进入ASP .net mvc的世界
29 0
|
1月前
mvc.net分页查询案例——mvc-paper.css
mvc.net分页查询案例——mvc-paper.css
5 0
|
1月前
|
开发框架 前端开发 .NET
C# .NET面试系列六:ASP.NET MVC
<h2>ASP.NET MVC #### 1. MVC 中的 TempData\ViewBag\ViewData 区别? 在ASP.NET MVC中,TempData、ViewBag 和 ViewData 都是用于在控制器和视图之间传递数据的机制,但它们有一些区别。 <b>TempData:</b> 1、生命周期 ```c# TempData 的生命周期是短暂的,数据只在当前请求和下一次请求之间有效。一旦数据被读取,它就会被标记为已读,下一次请求时就会被清除。 ``` 2、用途 ```c# 主要用于在两个动作之间传递数据,例如在一个动作中设置 TempData,然后在重定向到另
95 5
|
2月前
|
机器学习/深度学习 存储 编解码
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
多任务学习新篇章 | EMA-Net利用Cross-Task Affinity实现参数高效的高性能预测
42 0
|
3月前
|
XML 前端开发 定位技术
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
C#(NET Core3.1 MVC)生成站点地图(sitemap.xml)
25 0
|
3月前
|
前端开发
.net core mvc获取IP地址和IP所在地(其实是百度的)
.net core mvc获取IP地址和IP所在地(其实是百度的)
123 0
|
3月前
|
NoSQL 关系型数据库 MongoDB
【DotNetGuide】C#/.NET/.NET Core学习、工作、面试指南
【DotNetGuide】C#/.NET/.NET Core学习、工作、面试指南
106 0
|
3月前
|
开发框架 .NET API
C#/.NET/.NET Core推荐学习书籍(23年12月更新)
C#/.NET/.NET Core推荐学习书籍(23年12月更新)
227 0
|
15天前
|
开发框架 .NET API
C#/.NET/.NET Core推荐学习书籍(已分类)
C#/.NET/.NET Core推荐学习书籍(已分类)
175 0