MVC中的Action 返回类型
可以返回任意类型的数据
ActionResult: 在ExecuteResult方法中实现
EmptyResult:action的返回类型是void或者返回值为null时 会生成EmptyResult;
ContentResult: 返回的是字符串 ContentEncoding和ContentType则用于指定字符编码方式和媒体类型(MIME类型)
无论返回什么类型的数据 ActionInvoker都会创建相应的actionresult 对于不具有返回值或者返回值是null的action,最终会创建一个emptyresult
如果返回对象是actionresult 则直接返回该对象 否则将对象转换成字符串并创建contentresult
FileResult 抽象类 写入文件内容
FileContentResult 继承自FileResult byte[]方式写入文件
FilePathResult 继承自FileResult 通过文件路径写入文件
FileDtreamResult 继承自FileResult 通过文件流写入文件
HttpUnauthorizedResult 抛出401错误
JavascriptResult 返回js
JsonResult 返回json
RedirectResult 使用resposed.redirect重定向
ViewResultBase 调用 IView.Render()
RedirectToRouterResult 根据路由规则重定向
ViewResult 调用父类ViewResultBase的ExecuteResult方法重写父类的FindView方法 寻找页面的.aspx文件
PartialViewResult 调用父类ViewResultBase的ExecuteResult方法重写父类的FindView方法 寻找页面的.asxc文件\
PartialView("View"); 返回其他action所属的view 但不会调用其action
MVC内部跳转总结:
return RedirectToAction("Home","Index");
return Redirect("/Home/Index");