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

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

作者头像
浩Coding
发布2019-07-02 16:49:49
1.9K0
发布2019-07-02 16:49:49
举报
文章被收录于专栏:浩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 删除。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MVC 编程模式
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档