ASP.NET MVC4 学习系统三(控制器Controller)
控制器(Controllers)
在MVC架构模式的上下文里,控制器响应用户的输入(比如,用户点击“保存”按钮),并协调模型、视图以及(经常)数据访问层。在ASP.NET MVC程序里,控制器就是包含被路由框架处理请求时调用的方法的类。
控制器操作
控制器类并无特别之处,跟别的.NET类几乎没什么区别。事实上,控制顺类里的方法(称为控制器里的操作) 做了处理请求过程中的主要工作。经常听到控制器和控制器操作这种词语,在本书里也这样称呼,其实MVC模型并不会区分二者。但是ASP.NET MVC框架 十分关注控制器操作,因为它包含了处理请求的实际逻辑代码。
例如,HomeContronller 类包含三个操作:Index,About 和Contact.然而,假设默认的路由模式是{controller}/{action}/{id},当一个请求的URL是 /Home/About时,路由框架会决定由HomeController类中的About 方法处理这个请求。随后,ASP.NET MVC框架会创建HomController的实例,并执行About()方法。
这个例子中,About()方法非常简单:它通过ViewBag 属性把数据传递给视图,然后asp.net mvc框架通过调用 View()方法来显示名为(About)的视图,这个操作返回一个ViewResult类型的操作结果。
操作结果
值得注意的是,控制器的工作就是告诉asp.net mvc 框架下一步应该做什么,而不是怎么做。这个沟通过程通过使用+ActionResult+s来实现,返回值就是控制器提供的操作。例如,当控制器决定如何显示视图时,它就会告诉asp.net mvc 框架通过返回 ViewResult来展示视图,而不会自己渲染视图。这种松耦合的设计,也是操作中“分离关注点”原则的直接体现。
尽管每个控制器的操作都要返回ActionResult,但是大部分时间不需要你手动完成。相反,只需要使用System.Web.MVc.Controller基类提供的帮助方法即可,例如:
Content():返回文件类型的ContentResult,比如“Hello ,world!”。
File():返回文件类型的内容FileResult,比如PDF.
HttpNotFound()返回包含404HTTP状态码的HttpNotFoundResult.
JavaScript():返回JavaScriptResult
ASP.NET MVC4 学习系统三(控制器Controller)的更多相关文章
- ASP.NET MVC4 学习系统一(项目模板)
项目模板 1.空模板 空模板用于创建ASP.NETMVC 4网站的架构,包含基本的文件夹结构,以及需要引用的asp.netmvc程序集,也包含可能要使用的javaScript 库.模板同样包 ...
- ASP.NET MVC4 学习系统四(视图)
视图(Views) 在ASP.NET MVC框架中,想要返回给用户HTML的控制器操作,就要返回ActionResult类型的ViewResult实例,ActionResult知道如何渲染应答结 ...
- ASP.NET MVC4 学习系统五(Razor)
Razor ,你好! Razor 是一种把代码和内容进行平滑集成的语法.尽管它引入了一些新的符号和关键字,但是Razor并不是一种新的语法.相反,Razor允许用户使用已知的语言来编写代码 ...
- ASP.NET MVC4学习笔记路由系统概念与应用篇
一.概念 1.路由是计算机网络中的一个技术概念,表示把数据包从一个网段转发至另一网段.ASP.NET中的路由系统作用类似,其作用是把请求Url映射到相应的"资源"上,资源可以是一段 ...
- asp.net mvc4 学习笔记一(基本原理)
做了8年的asp.net webform,用过MVVM但还没用过MVC , 虽然项目不用MVC,但是还是想了解一下,今天第二天学习,以下是学习心得. VS2012默认带有asp.net mvc3和as ...
- ASP.NET MVC 学习2、从Controller传递数据到View
参考:http://www.asp.net/mvc/tutorials/mvc-4/getting-started-with-aspnet-mvc4/adding-a-view 一,Control ...
- asp.net mvc4 学习1
1 简介:微软在很早就看到了基于windows系统的web开发平台的需求,这时便开始提出自己的解决方案即微软的第一个基于web开发的平台ASP.再后来随着需求和性能的要求再2002年推出第二个解决方案 ...
- ASP.NET MVC4 学习记录
之前在学习Artech的<ASP.NET MVC4框架揭秘>一书,学习过程中画了ASP.NET MVC4框架的草图,方便记忆.
- SpringMVC学习03(控制器Controller)
3.控制器Controller 3.1 控制器Controller 控制器复杂提供访问应用程序的行为,通常通过接口定义或注解定义两种方法实现. 控制器负责解析用户的请求并将其转换为一个模型. 在Spr ...
随机推荐
- 75. Sort Colors
Given an array with n objects colored red, white or blue, sort them so that objects of the same colo ...
- 黄聪:解决丢失api-ms-win-crt-runtime-|1-1-0.dll的问题:vc_redist.x64
解决无法启动程序,因计算机中丢失api-ms-win-crt-runtime-|1-1-0.dll的问题 安装:Microsoft Visual C++ 2015 RC Redistributable ...
- 解密:wp-includes/load.php
描述:定义加载 WP 所需要的函数.1)wp_unregister_GLOBALS(),关闭’GLOBALS’, ‘_GET’, ‘_POST’, ‘_COOKIE’, ‘_REQUEST’, ‘_S ...
- windows初始化后做了哪些事情
保护视力,将WINDOWS背景色变成淡绿色 绿色和蓝色对眼睛最好,建议大家在长时间用电脑后,经常看看蓝天.绿地,就能在一定程度上缓解视疲劳.同样的道理,如果我们把电脑屏幕和网页的底色变为淡淡的苹果绿, ...
- 一个超级简单的HTML模板框架源代码以及使用示例
HTML模板框架源代码 var HtmlTemplate = (function () { function HtmlTemplate(htmlSource) { this.htmlSource = ...
- Java中的String与常量池
string是java中的字符串.String类是不可变的,对String类的任何改变,都是返回一个新的String类对象.下面介绍java中的String与常量池. 1. 首先String不属于8种 ...
- jquery extend中
var $=123; <src="jquery.js"> //加载jquery.js的时候 里面有句 _$=window.$,保存123的 //no ...
- Yii2.0 多文件上传
--------------------------------------------------------------------------------------------------- ...
- EL表达式介绍
EL 全名为Expression Language EL 语法很简单,它最大的特点就是使用上很方便.接下来介绍EL主要的语法结构: ${sessionScope.user.sex} 所有EL都是以${ ...
- log4Net使用 z
http://logging.apache.org/log4net/1.Log4net主要结构分析 1.1 Logger:是应用程序与Log4net进行交互的主要模块,它也是log4net生成log ...