Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >ASP.NET MVC5高级编程——(1)了解MVC模式和第一个MVC程序、认识控制器

ASP.NET MVC5高级编程——(1)了解MVC模式和第一个MVC程序、认识控制器

作者头像
浩Coding
发布于 2019-07-02 08:49:49
发布于 2019-07-02 08:49:49
1.9K0
举报
文章被收录于专栏:浩Coding浩Coding

最近开了ASP.NET MVC5高级编程这本课程,先来无事,开个专栏好了,不然懒得身体生锈~\(≧▽≦)/~啦啦啦。

长话短说,教程简洁,不会的留言即可。

MVC 编程模式

MVC 是一种使用 MVC(Model View Controller 模型-视图-控制器)设计创建 Web 应用程序的模式:

  • Model(模型)表示应用程序核心(比如数据库记录列表)。
  • View(视图)显示数据(数据库记录)。
  • Controller(控制器)处理输入(写入数据库记录)。

下面,我们将开始第一个MVC程序哦!

示例程序——MVC MusicStore

  • Step1 创建一个Asp.Net MVC 5项目

打开Visual studio 2015 点“文件”->新建->项目。

Visual C# --> Web --> ASP.NET Web应用程序

MVC此时处于选中状态,勾选“添加单元测试”(最好选上,利于后期调试)。

完成以上步骤,基本的项目创建完成,此时点击“Ctrl+F5”可运行项目,如下图所示。

下面我们开始了解具体的项目:

首先是各个顶级目录的作用:

重要文件说明 1)、Views下面的web.config:是整个视图的配置文件;根目录下的web.config:作用于整个项目的配置 2)、Global.asax.cs全局应用程序控制文件

3、MVC中的约定:

视图访问和寻址规则 1)、在控制器中使用View()方法调用视图,返回和“动作方法同名”的视图 2)、寻址规则:View()方法默认从“View文件夹”下寻找和控制器同名的文件夹 MVC中的约定 1)、控制器:必须以Controller结尾 2)、视图:必须放在Views文件夹下,并且要和控制器同名的子目录中创建 约定胜于配置 1)、提前规定好 2)、无需配置 3)、不遵守规则则出错

开始认识控制器

我们先看看我们创建的这个默认的项目,有个HomeController类:

可以看到,页面已经发生变化:

下面我们添加一个新的StoreController类:

(右击)Controllers文件夹 --> 添加 --> 控制器,选择空类别基架模板

添加后在Controllers文件夹中会多出文件“StoreController.cs”,并且在文件夹Views下会多出“Store”文件夹,遵循了我们的约定:

大家可以看到,控制器中的这些方法(Index、Browse)称为控制器操作,控制器操作的工作是响应URL请求,执行正确的操作,并向浏览器或是单击这个URL的用户做出响应!

比如我们现在新建的这个Store页面,我们修改他的Index方法:

然后URL为:http://localhost:54297/Store 当然,不同机器可能端口号不一样,自己更改即可,或者在vs中Ctrl+F5,就是不调试的启动:

然后可以自己添加方法:

修改Details方法,使其读取和显示一个名为ID的参数,在Asp.Net MVC 5的默认路由约定中:将操作方法名称后面的URL的这个片段作为一个参数,该参数的名称为ID,如果操作方法中有名为ID的参数,那么Asp.Net MVC 会自动将这个URL片段作为参数传进来,就是ID的值!

如图:

可以在浏览器中看localhost:54297/Store/Details/5:

控制器总结:

  • 1 ,不需要任何额外配置,浏览/Store/Browse就可以执行StoreController类中的Browse方法,这就是操作中的路由。
  • 2 ,判断一个类是否是控制器:看它是否继承了 System.Web.Controller类。
  • 3 ,在MVC中,控制器才是核心,每一个请求都必须通过控制器处理,而且有些请求不需要模型和视图!

控制器就是MVC应用程序中的“指挥员”,它紧密的编排用户、模型对象和视图的交互。同时控制器还负责响应用户的输入,操纵正确的模型对象,然后选择合适的视图显示给用户以作为对用户最初输入的响应!!!

参考文章,感谢菡二娷博主:

https://www.cnblogs.com/imstrive/category/900665.html

https://www.cnblogs.com/cuig/p/8945145.html

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 浩Coding 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Asp.Net MVC4入门指南(2):添加一个控制器
MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。 · Views: 应用程序动态生成 HTML所使用的模板文件。 · Controllers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。 本系列教程,我们将覆盖所有这些概念,并告诉您如何使用它们来构建应用程序。 首先,让我们创建一个控制器类。在解决方案资源管理器中,用鼠标右键单击
葡萄城控件
2018/01/10
1K0
Asp.Net MVC4入门指南(2):添加一个控制器
Asp.Net MVC4入门指南(5):从控制器访问数据模型
在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序(生成应用程序)(确保应用程序编译没有问题) 用鼠标右键单击Controller文件夹,并创建一个新的 MoviesController控制器。当Build成功后,会出现下面的选项。设定以下选项: · 控制器名称: MoviesController.(这是默认值)。 · 模板: MVC Controller wit
葡萄城控件
2018/01/10
4.2K0
Asp.Net MVC4入门指南(5):从控制器访问数据模型
《asp.net core 3 高级编程(第8版)》学习笔记 01
第二章通过一个最简单的例子,了解创建和 asp.net core 程序的过程,以及熟悉一下路由。作为入门来说,建议还是在 Visual studio 环境下创建项目以及运行项目,减少学习过程钟的挫败感。
StoneWM
2022/08/13
5290
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
在上一篇文章Asp.Net MVC3 简单入门第一季(一)环境准备中我简单介绍了Asp.Net MVC3项目的安装和第一个Asp.Net MVC3项目的基本情况。没有详细介绍项目中各个文件夹的作用,以及创建的第一个页面是怎样运行起来的?还有好多的疑问,那在这篇文章中我们将详细介绍项目中各个文件夹的作用,并真的第一个项目我们简要介绍一下Asp.Net MVC的URL驱动的是怎么回事。
老马
2022/11/28
9740
Asp.Net MVC3 简单入门第一季(二)详解Asp.Net MVC3项目
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
系列文章 七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC 七天学会ASP.NET MVC (二)——ASP.NET MVC 数据传递 七天学会ASP.NET MVC (三)—
葡萄城控件
2018/01/10
3.2K0
七天学会ASP.NET MVC (一)——深入理解ASP.NET MVC
ASP.NET MVC 5 - 控制器
MVC代表: 模型-视图-控制器 。MVC是一个架构良好并且易于测试和易于维护的开发模式。基于MVC模式的应用程序包含: · Models: 表示该应用程序的数据并使用验证逻辑来强制实施业务规则的数据类。 · Views: 应用程序动态生成 HTML所使用的模板文件。 · Controllers: 处理浏览器的请求,取得数据模型,然后指定要响应浏览器请求的视图模板。 本系列教程,我们将覆盖所有这些概念,并告诉您如何在ASP.NET MVC 5中使用它们来构建应用程序。 首先,让我们创建一个控制器类。在解决方
葡萄城控件
2018/01/10
2.6K0
ASP.NET MVC 5 - 控制器
ASP.NET MVC5高级编程 ——(5)路由
这章呢,我们开始讲ASP.NET MVC5中的路由机制,在这之前,先提一下URL(Uniform Resource Locator)-- 统一资源定位符。需要注意的是,这里的“资源”这个词,是一个抽象的概念,既可以指一个文件,也可以指一个方法、一个类或是一段代码。由此我们引出了路由的主要用途:
浩Coding
2019/07/03
2.1K0
MVC学习笔记(一)
MVC 是用于构建 web 应用程序的一种框架,使用 MVC (Model View Controller) 设计:
2018/09/03
5630
ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
本篇代码基于以下代码进行调整:https://github.com/ken-io/asp.net-core-tutorial/tree/master/chapter-02
KenTalk
2018/11/09
2.3K0
ASP.NET Core 入门教程 5、ASP.NET Core MVC 视图传值入门
.NET MVC简单介绍
HttpHandler是ASP.net的底层机制,如果直接使用HttpHandler进行开发难度比较大、工作量大。因此提供了ASP.Net MVC、ASP.Net WebForm等高级封装的框架,简化开发,他们的底层仍然是HttpHandler、HttpRequest等这些东西。比如ASP.Net MVC的核心类仍然是实现了IHttpHandler接口的MVCHandler。
全栈程序员站长
2022/09/06
1.2K0
.NET MVC简单介绍
【ASP.NET Core 基础知识】--MVC框架--MVC入门
MVC(Model-View-Controller)是一种软件架构模式,用于设计和组织应用程序的代码。它将应用程序分为三个主要组成部分:
喵叔
2024/01/10
8530
【ASP.NET Core 基础知识】--MVC框架--MVC入门
ASP.NET MVC5高级编程 ——(6)过滤器
1、过滤器(Filters)就是向请求处理管道中注入额外的逻辑。提供了一个简单而优雅的方式来实现横切关注点。
浩Coding
2019/07/03
2.3K0
ASP.NET MVC学习笔记02控制器和路由
上一篇大致说了下ASP.NET MVC到底是什么,以及MVC的思想,下面我们就继续依照官方文档,从MVC的C开始入手,也就是控制器。 ---- MVC的官方解释以及翻译 MVC stands for model-view-controller. MVC is a pattern for developing applications that are well architected, testable and easy to maintain. MVC-based applications conta
李郑
2018/02/28
1.5K0
ASP.NET MVC学习笔记02控制器和路由
ASP.NET MVC5高级编程——(2)MVC模式的视图
1 ,视图职责是向用户提供界面,当控制器针对被请求的URL执行完合适的逻辑后,就将要显示的内容委托给视图。
浩Coding
2019/07/02
2.9K0
ASP.NET MVC5高级编程——(2)MVC模式的视图
ASP.NET MVC (一、控制器与视图)
ASP.NET MVC是最简洁、最方便、最高效、最快速的小型网站开发的方法,本文可以让一个小白用最快速的方式学会网站开发。
红目香薰
2022/11/29
1.8K0
ASP.NET MVC (一、控制器与视图)
【21】ASP.NET CoreMVC 中的控制器
我们将讨论 Controller 是什么以及它在 ASP.NET Core MVC 中的作用。
角落的白板报
2019/07/31
1.7K0
【21】ASP.NET CoreMVC 中的控制器
ASP.NET MVC 5 -从控制器访问数据模型
在本节中,您将创建一个新的MoviesController类,并在这个Controller类里编写代码来取得电影数据,并使用视图模板将数据展示在浏览器里。 在开始下一步前,先Build一下应用程序(生
葡萄城控件
2018/01/10
5.9K0
ASP.NET MVC 5 -从控制器访问数据模型
mvc(1)——新建一个ASP.NET MVC项目
 对于mvc的应用,我想第一步就应该是建立一个mvc项目了。废话不说了,直接上。  在“File(文件)”菜单中选择“New(新建)”——“Project(项目)”
全栈程序员站长
2022/09/14
1.7K0
mvc(1)——新建一个ASP.NET MVC项目
【asp.net core 系列】3 视图以及视图与控制器
在之前的几篇中,我们大概介绍了如何创建一个asp.net core mvc项目以及http请求如何被路由转交给对应的执行单元。这一篇我们将介绍一下控制器与视图直接的关系。
程序员小高
2020/06/03
2.6K0
ASP.NET MVC 5 - 将数据从控制器传递给视图
在我们讨论数据库和数据模型之前,让我们先讨论一下如何将数据从控制器传递给视图。控制器类将响应请求来的URL。控制器类是给您写代码来处理传入请求的地方,并从数据库中检索数据,并最终决定什么类型的返回结果会发送回浏览器。视图模板可以被控制器用来产生格式化过的HTML从而返回给浏览器。 控制器负责给任何数据或者对象提供一个必需的视图模板,用这个视图模板来Render返回给浏览器的HTML。最佳做法是:一个视图模板应该永远不会执行业务逻辑或者直接和数据库进行交互。相应的,一个视图模板应该只和控制器所提供的数据进行交
葡萄城控件
2018/01/10
5.1K0
ASP.NET MVC 5 - 将数据从控制器传递给视图
推荐阅读
相关推荐
Asp.Net MVC4入门指南(2):添加一个控制器
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文