您的位置:首页 > 其它

MVC ActionResult视图结果

2014-06-07 12:43 323 查看

摘要


MVC框架针对HttpResponse进行抽象与多态,使HttpResponse均可表示为ActionResult。那么,抽象和多态表现在哪里呢?

//封装一个Action的结果.
publicabstractclassActionResult
{
protectedActionResult();

//启用对操作方法结果的处理。
//参数:
//context:用于执行结果的上下文。上下文信息包括控制器、HTTP内容、请求上下文和路由数据。
publicabstractvoidExecuteResult(ControllerContextcontext);
}




抽象:因为HttpResponse返回的就是一个结果,这个结果就是一个抽象。表现在ActionResult类的ExecuteResult方法上,所有不同种类的结果都是通过调用此方法输出到浏览器。

多态:因为有多种结果,那么继承与多态就是必须的了。详见下表。

结果类别

父亲层级

描述

EmptyResult

ActionResult

表示一个不执行任何操作的结果

ContentResult

ActionResult

表示用户定义的内容类型

FileResult

ActionResult

表示一个用于将二进制文件内容发送到响应的基类。

FileContentResult

FileResult

将二进制文件的内容发送到响应。

FilePathResult

FileResult

将文件的内容发送到响应

FileStreamResult

FileResult

使用Stream实例将二进制内容发送到响应。

JavaScriptResult

ActionResult

将JavaScript内容发送到响应。

JsonResult

ActionResult

将JSON格式的内容发送到响应。

HttpStatusCodeResult

ActionResult

返回带特定HTTP响应状态代码和说明的操作结果的方法。

HttpNotFoundResult

HttpStatusCodeResult

定义一个用于指示未找到所请求资源的对象。

HttpUnauthorizedResult

HttpStatusCodeResult

表示未经授权的HTTP请求的结果。

RedirectResult

ActionResult

通过重定向到指定的URI来控制对应用程序操作的处理。

RedirectToRouteResult

ActionResult

使用指定的路由值字典来执行重定向的结果。

ViewResultViewResultBase—>
ActionResult
IView实例来呈现视图

Usage


我们关注点侧重一些简单的使用。

returnContent(jsonResult);//返回一个文本


if(p==null)returnNotFound();//状态码


returnJson(result);//JSON

returnJson(result,JsonRequestBehavior.AllowGet);




returnView();//视图


returnFile(data.ExportExcel(),"application/vnd.ms-excel",fileName);//Excel文件





总结:所有的ActionResult均可以在Controller中找到,只需要关注构造函数,属性等API即可使用。

publicabstractclassController


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐
章节导航