📜  Json Action 可以返回视图吗? - C# (1)

📅  最后修改于: 2023-12-03 15:17:04.246000             🧑  作者: Mango

Json Action 可以返回视图吗? - C#

在 ASP.NET Core 的 Json Action 中,返回的通常是 JSON 格式的数据。这种方式在很多情况下都很方便,但是也会有一些需要返回视图的场景。那么问题来了,Json Action 可以返回视图吗?

答案是:可以,但是不建议这样做。

返回视图的方式

在 ASP.NET Core 中,虽然 Json Action 通常返回的是 JSON 格式的数据,但是我们完全可以在 Action 中返回视图。实现方式也很简单,只需要使用 View 或者 PartialView 方法即可。

下面是示例代码:

public IActionResult Index()
{
    return View();
}

但需要注意的是,这样做可能会导致莫名其妙的问题。

不建议返回视图的原因

为什么不建议在 Json Action 中返回视图呢?主要有以下几个原因:

  1. 不符合预期

调用 Json Action 通常是为了获取 JSON 格式的数据,如果返回了视图,那么消费者可能会感到困惑,不知道应该如何处理该数据。

  1. 可能会出错

在一些情况下,如果在 Json Action 中返回了视图,那么可能会出现一些莫名其妙的问题,比如数据格式不正确或者无法序列化等。

  1. 约定俗成

Json Action 本身就是一个约定俗成的概念,它的主要用途是返回 JSON 格式的数据,如果强行让它返回视图,可能会导致其他开发人员无法理解代码。

结论

综合以上几点,我们可以得出一个结论:在 Json Action 中,应该尽量返回 JSON 格式的数据,而不是视图。如果确实需要返回视图,建议使用另外一种方式,比如使用普通的 Action 方法。

最后,需要提醒的是,建议遵循 ASP.NET Core 的约定俗成,不要让其他开发人员感到困惑。