一 ActionResult:
1. EmptyResult:
Action方法返回的ActionResult对象被ActionInvoker 调用以实现对当前请求的响应,不论Action方法是否具有返回值,也不论它的返回值是什么类型,ActionInvoker最终
都会创建相应的ActionResult对象,如果Action返回类型为void,或者null,那么最终生成的就是EmptyResult对象。
EmptyResult是一个空的ActionResult.
EmptyResult实现的是一种设计思想,在MVC 管道式 处理流程中, 具有三个基本环节, 即“Action方法的执行” "生成ActionResult" 和 “ActionResult”.这可能不适合
当 Action没有返回值,或者返回null 的情况,这样EmptyResult 就起到了适配的作用。
2. ContenResult: ContenResult 的 Conten 返回的就是 属性字符串:
public ActionResult ContentBaz() { return Content("hello Content"); }
ContenResult 还有 ContentEncoding 和 ContentType 两个属性
3. FileResult:是一个基于文件的ActionResult。可以通过FileResult将物理文件响应给前端。
其中的ContentType 是表示响应文件的类型,
MVC 定义了三个具体的FileResult, FileContentResult,FilePathResult,FileStreamResult.
3.1 FileContentResult: 是针对文件内容创建FileResult。
3.2 FilePathResult : 是一个根据物理文件路径创建FileResult。
3.3 FileStreamResult: 是根据读取文件流的方式创建 FileResult。
4. JavaScriptResult: 使得我们可以在服务端动态生成一段javascript脚步。并作为请求,在客服端执行脚步。
5. JsonResult: 返回标准的Json格式: 如下代码 浏览器返回
{"Name":"dragon","age":21,"school":"小学"}
public ActionResult IndexJson() { Dictionary<string, object> dict = new Dictionary<string, object>{ { "Name", "dragon"}, { "age",21}, { "school","小学"} }; return Json(dict, JsonRequestBehavior.AllowGet); }
6. HttpStatusCodeResult: 表示请求响应的状态。
7. RedirectResult/RedirectToRoute: 表示重定向。