欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

程序员文章站 2022-03-17 14:16:09
2.1 控制器的角色 MVC模式中的控制器(Controller)主要负责响应用户的输入,冰球在响应时修改模型(Model)。通过这种方式,MVC模式中的控制器主要关注的是应用程序流、输入数据的处理,以及对相关视图(View)输出数据的提供。 URL首先告知陆游机制去实例化哪个控制器,调用哪个操作方 ......

2.1 控制器的角色

mvc模式中的控制器(controller)主要负责响应用户的输入,冰球在响应时修改模型(model)。通过这种方式,mvc模式中的控制器主要关注的是应用程序流、输入数据的处理,以及对相关视图(view)输出数据的提供。

url首先告知陆游机制去实例化哪个控制器,调用哪个操作方法,并为该方法提供需要的参数。然后控制器的方法决定使用哪个视图,并对该视图进行渲染。

url并不用存储在web服务器磁盘上的文件有直接对应关系,而是与控制器类的方法有关。

2.2 示例应用程序:mvc music store

我们将要构建的应用程序是一个简单的音乐商店。该应用程序有三个主要部分:购物,结帐和管理。

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

访客可以按类型浏览相册:

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

他们可以查看单个相册并将其添加到购物车中:

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

他们可以查看购物车,删除他们不再需要的任何商品:

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

继续结帐将提示他们登录或注册用户帐户。

 ASP.NET MVC5 高级编程-学习日记-第二章 控制器

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

创建帐户后,他们可以通过填写运费和付款信息来完成订单。为了简单起见,我们正在进行一项惊人的促销活动:如果他们输入促销代码“免费”,一切都是免费的!

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

订购后,他们会看到一个简单的确认屏幕:

 ASP.NET MVC5 高级编程-学习日记-第二章 控制器

除了面向客户的页面,我们还将构建一个管理员部分,其中显示管理员可以创建,编辑和删除相册的相册列表:

 ASP.NET MVC5 高级编程-学习日记-第二章 控制器

2.3 控制器基础

2.3.1 简单示例:home controller

  • homecontroller:负责网站根目录下的“home page”、“about page”和“contact page”。
  • accountcontroller:响应与账户相关的请求,比如登录和账户注册。

ASP.NET MVC5 高级编程-学习日记-第二章 控制器

注意:这是一个相当简单的类,它继承了controller基类。homecontroller类的index方法负责决定当浏览网站首页时触发的事件。

2.3.2 创建第一个控制器

首先创建一个控制器来处理有关浏览音乐目录的url。这个控制器支持以下三个功能:

  • 索引页面列出商品店里面包含的音乐类型。
  • 单击一个流派,跳转到一个列出改流派下所有音乐专辑的页面。
  • 单击一个专辑,跳转到一个列出有关该专辑所有信息的页面。

1.创建新控制器

添加一个新的控制器storecontroller

2.编写操作方法

 新创建的storecontroller控制器已经有了一个index方法,下面将利用这个index方法实现在页面上列出音乐商店里所有歌曲流派的功能。另外,还需要添加两个额外的方法来实现上述其他两项功能,这两个方法分别是browse和details。

 ASP.NET MVC5 高级编程-学习日记-第二章 控制器

3.经验总结

  • 不需要做任何额外配置,浏览/store/details就可以执行storecontroller类中的details方法,这就是操作中的路由。
  • 尽管是使用vs工具来创建这个控制器类,但它的确是一个非常简单的类。判别一个类是否是控制器类的唯一方式,就是查看该类是否继承自system.web.mvc.controller。
  • 已经利用了一个控制器在浏览中显示了文本----没有用到模型和视图。控制器是真正的核心。每一个请求都必须通过控制器处理,而有的请求是不需要模型和视图的。

2.3.3 控制器操作的参数

前面的例子写出的是常量字符串。下一步就是让它们通过响应url传进来的参数动态地执行操作。

 ASP.NET MVC5 高级编程-学习日记-第二章 控制器

控制器通过url被调用,然后执行自定义的代码并返回一个视图。

2.4 小结

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