rexian

咨询电话:023-6276-4481

热门文章

联系方式

电 话:023-6276-4481

邮箱:broiling@qq.com

地址:重庆市南岸区亚太商谷6幢25-2

当前位置:网站首页 > 技术文章 > asp.net mvc框架之Controller

asp.net mvc框架之Controller

编辑:木子 发表时间:2017-07-03 09:03:04
木子

1、Controller类与方法

  Controller(控制器)是ASP.NET MVC的核心,负责处理浏览器请求,并作出响应。Cotroller本身是一个类(Class),该类有多个方法(Method)。在这些方法中,只要是公开方法,该方法将被视为一个动作(Action);只要有动作存在,就可以通过该动作方法接收网页请求并决定应响应的视图。

  Controller的基本要求:

  •  Controller必须是公共(Public)类;

  •    Controller的名称必须以“Controller”结尾;

  •    必须继承ASP.NET MVC的Controller类,或继承实现IController接口的自定义类,或自身实现IController接口;

  •    所以方法必须为公共(Public)方法。该方法可以没有参数,也可以有多个参数。

 

  2、Action名称选择器

  当通过ActionInvoker选取Controller中的公共方法时,默认会用Reflection方式取得Controller中具有相同名称的方法。

3、动作方法选择器
  在通过ActionInvoker选取Controller中的公共方法是,ASP.NET MVC还提供了一个特性,动作方法选择器(Action Method Selector),以帮助ActionInvoker选择适当的Action。

  3.1、 NonAction属性

  若将NonAction属性应用在Controller中的Action方法上,即使该Action方法是公共方法,也会告知ActionInvoker不要选取这个Action来执行。这个属性主要用来保护Controller中的特定公共方法不会发布到Web上。或是当功能尚未开发完成就要进行部署时,若暂时不想将此方法删除,也可以使用这个属性

 4、ActionResult类
  ActionResult类是Action执行的结果,但ActionResult中并不包含执行结果,而是包含执行响应时所需要的信息。当Action返回ActionResult类之后,会由ASP.NET MVC执行。

  ASP.NET MVC定义的ActionResult如下表所示:

Controller辅助方法用途
ContentResultContent返回一段用户自定义的文字内容
EmptyResult
不返回任何数据,即不响应任何数据
JsonResultJson将数据序列转化成JSON格式返回
RedirectResultRedirect重定向到指定的URL
RedirectToRouteResultRedirectToAction、RedirectToRoute重定向到Action或Route
ViewResultView使用IViewInstance接口和IViewEngine接口,实际输出的数据是IViewEngine接口和View
PartialViewResultPartialView与ViewResult类相似,返回的是“部分显示”
FileResultFile以二进制串流的方式返回一个文件数据
JavaScriptResultJavaScript返回JavaScript指令码

  4.1、ViewResult

  ViewResult类是在ASP.NET MVC中最常用的ActionResult类,用于返回一个标准的视图。通过Controller辅助方法,可以定义输出的View名称。

  a>、返回默认的页面

  返回的默认页面与Action的名称相同