ViewResult()和ActionResult()的区别

15 浏览
0 Comments

ViewResult()和ActionResult()的区别

ASP.NET MVC 中的 ViewResult()ActionResult() 有什么区别?

public ViewResult Index()
{
    return View();
}
public ActionResult Index()
{
    return View();
}

admin 更改状态以发布 2023年5月23日
0
0 Comments

ActionResult 是一个抽象类。

ViewResult 派生自 ActionResult,其他派生类包括 JsonResultPartialViewResult

您以这种方式声明,以便利用多态性,在同一方法中返回不同类型。

例如:

public ActionResult Foo()
{
   if (someCondition)
     return View(); // returns ViewResult
   else
     return Json(); // returns JsonResult
}

0
0 Comments

ActionResult 是一个抽象类,可以拥有多个子类型。

ActionResult 子类型

  • ViewResult - 将指定视图呈现到响应流中

  • PartialViewResult - 将指定部分视图呈现到响应流中

  • EmptyResult - 返回空响应

  • RedirectResult - 执行 HTTP 重定向到指定的 URL

  • RedirectToRouteResult - 基于给定路由数据,由路由引擎决定执行 HTTP 重定向到的 URL

  • JsonResult - 将给定的 ViewData 对象序列化为 JSON 格式

  • JavaScriptResult - 返回可以在客户端执行的一段 JavaScript 代码

  • ContentResult - 在不需要视图的情况下将内容写入响应流

  • FileContentResult - 返回文件给客户端

  • FileStreamResult - 使用流提供文件给客户端

  • FilePathResult - 返回文件给客户端

资源

0