ContentResult и JsonResult

Данное руководство устарело. Актуальное руководство: Руководство по ASP.NET Core 7

Последнее обновление: 17.11.2019

ContentResult

ContentResult отправляет клиенту ответ в виде строки. Так, следующий пример:

public string Area(int altitude, int height)
{
    double area = altitude * height/2;
    return $"Площадь треугольника с основанием {altitude} и высотой {height} равна {area}";
}

Можно переписать с использованием ContentResult:

public IActionResult Area(int altitude, int height)
{
    double area = altitude * height/2;
    return Content($"Площадь треугольника с основанием {altitude} и высотой {height} равна {area}");
}

Для отправки ContentResult не надо использовать конструктор, так как в контроллере уже определен специальный метод Content(), который принимает отправляемую строку и создает объект ContentResult.

ContentResult в ASP.NET MVC Core

JsonResult

Одним из наиболее популярных в наше время форматов хранения и передачи данных является формат JSON (JavaScript Object Notation). JSON не зависит от языка программирования, он более удобен и легче обрабатывается.

В JSON каждый отдельный объект заключается в фигурные скобки и представляет собой набор пар ключ-значение, разделенных запятыми, где ключом является название свойства объекта, а значением соответственно значение этого свойства. Например: {"name":"Tom"}. Здесь "name" является ключом, а "Tom" - значением.

Для отправки объекта в формате json в контроллере имеется метод Json(object obj), который в качестве параметра принимает отправляемый объект. Например:

public JsonResult GetName()
{
    string name = "Tom";
    return Json(name);
}

В данном случае на сторону клиента отправляется строка "Tom".

Допустим, у нас есть следующий класс User:

public class User
{
    public string Name { get; set; }
    public int Age { get; set; }
}

И тогда для отправки клиенту объекта User мы можем написать следующий метод:

public JsonResult GetUser()
{
    User user = new User { Name = "Tom", Age = 28 };
    return Json(user);
}

При обращении к методу из адресной строки браузера веб-браузер выведет полное описание объекта в формате json:

Отправка JSON в ASP.NET MVC Core
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850